您的位置:首页 > 运维架构 > Shell

Ubuntu安装MySQL及使用Xshell连接MySQL出现的问题(2003-Can't connect to MySql server及1045错误)

2018-12-21 11:24 1046 查看

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

 

以下所有的命令都是在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

再次测试连接,成功

完!

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


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

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐