博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu安装MySQL及使用Xshell连接MySQL出现的问题(2003-Can't connect to MySql server及1045错误)...
阅读量:7183 次
发布时间:2019-06-29

本文共 2060 字,大约阅读时间需要 6 分钟。

不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!!

 

以下所有的命令都是在root用户下操作(如果还没有设置root密码)如下:

安装好Ubuntu系统之后,打开终端先设置root密码(如果已设置自行跳过此步骤)执行

sudo passwd

这是会提示你输入计算机登录密码,输入之后会再提示你输入两次将要设置的root密码,输完切换到root用户,执行

su root

提示输入root密码,正确输完即可进入root用户下,执行

apt-get update

此命令是将软件源更新至最新(如果更新失败请查看是否联网失败或在网上寻找源问题)

安装MySQL命令

apt install mysql-server    (默认安装最新MySQL) 要安装指定版本的可以参考 apt install mysql-server-5.6(此命令我没有验证过,大家可以尝试下)

输完命令之后会提示你红框内内容 输入 Y 即可

输完之后会弹出一个简单的UI界面让你输入MySQL的root密码(注:MySQL密码在Linux系统不可以使用特殊字符)root密码输完之后就安装好MySQL了

登录MySQL命令:

mysql -uroot -p

输完命令需要输入刚才你在UI页面的root密码(输密码是没有显示出来的不用担心,正确输完之后回车就行)

如下图:

 

现在已经完全安装好MySQL了,接下来是允许其他电脑连接服务器的MySQL(如果你不需要使用其他工具连接MySQL请自行忽略以下内容)

授权其他设备连接MySQL命令:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'这里写允许其他设备所在的IP地址或者直接用 % 代替,“%”代表所有ip地址' IDENTIFIED BY '你的root用户密码 ' WITH GRANT OPTION;

输完此命令还需要在执行重新授权表命令::

mysql>FLUSH PRIVILEGES;

如下图:

这时候就可以尝试使用其他机器上的设备连接Ubuntu上的mysql(我用的是Navicat)(有时候也会成功连接但更多时候下会出现如下情况)

2003-Can't connect to MySql server on 'xxx.xxx.xxx.xxx'(10061 "Unknown error")

 

解决方法如下:

编辑mysql的配置文件:

vi /etc/mysql/mysql.conf.d/mysqld.cnf  ,找到address=127.0.0.1这一段文本,将它注释掉或则将它改成address =0.0.0.0。这些方法目的是允许其他的主机可以访问服务,而不仅仅是127.0.0.1(localhost)

 

重新启动mysql命令:/etc/init.d/mysql restart

停止mysql命令:/etc/init.d/mysql stop

查看mysql启动状态命令:/etc/init.d/mysql status

现在我们重新启动mysql再尝试连接mysql

现在我们就成功的连接了Ubuntu的mysql了,不过有些伙伴还有可能会遇到另一个问题就是,用Navicat连接是提示需要修改密码才能连接:

如下图(我现在没有报出错误,因而在网上找了个相同错误的图片放出来):

 

解决方案如下:

同样是编辑mysql的配置文件:

vi /etc/mysql/mysql.conf.d/mysqld.cnf  ,

在skip-external-locking的下一行添加 skip-grant-tables ,用户登录时跳过密码校验

保存并重启mysql:

/etc/init.d/mysql restart

然后输入 mysql 就可以直接进去mysql的命令操作界面:

此时修改root用户密码:

 

mysql>use mysql;

mysql>update user set authentication_string=password('新密码') where user='root';

注:简单的密码可能不能成功更新密码,需较复杂的密码

mysql> flush privileges;

mysql> quit;

注:现在回去配置文件删除刚才跳过密码验证代码 “skip-grant-tables”

注:现在回去配置文件删除刚才跳过密码验证代码 “skip-grant-tables”:

注:现在回去配置文件删除刚才跳过密码验证代码 “skip-grant-tables”:

重要事情说三遍!!!

 

现在重启mysql:

/etc/init.d/mysql restart

再次测试连接,成功

完!

如果此文章有什么不对的地方请路过的大神指出,以免误人子弟

尊重原创,如要转载请注明出处

 

 

 

转载于:https://www.cnblogs.com/hui-2016/p/10154756.html

你可能感兴趣的文章
python(1)汇率换算
查看>>
spring cloud微服务分布式云架构- Config 快速开始
查看>>
十一课堂|通过小游戏学习Ethereum DApps编程(1)
查看>>
【区块链+游戏实践】火币区块链产业专题报告-游戏产业的割裂与重构
查看>>
批量删除Maven下载失败的文件及文件夹
查看>>
前端学习是个无底洞,要给自己一个定位
查看>>
使用 ELK 来分析你的支付宝账单
查看>>
[Android] 列表控件(RecycleView,GridView)
查看>>
vue源码阅读,学习vue的rollup打包工具,write一个自己的工具函数库
查看>>
主流 SSM 框架Java 后台 springmvc mybatis 有代码生成器
查看>>
vue点击当前路由,如何实现刷新当前页
查看>>
iOS 常用布局方式之Constraint
查看>>
初识zookeeper和安装
查看>>
test
查看>>
【Camera专题】-Camera帧率、黄光环境下拍照闪红问题-【展讯平台】
查看>>
Android NDK 环境搭建 之 起始篇NDK HelloWorld
查看>>
this指向问题
查看>>
对 python 中变量值交换的一些思考
查看>>
iOS 数据优化之处理HTML字符串
查看>>
vue.js无缝滚动
查看>>