欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-02 19:03:19
不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!! 以下所有的命令都是在root用户下操作(如果还没有设置root密码)如下: 安装好Ubuntu系统之后,打开终端先设置root密码(如果已设置自行跳过此步骤)执行 sudo passwd 这是会提示你输入计算机登录密 ......

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

 

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

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

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

登录mysql命令:

mysql -uroot -p

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

如下图:

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

 

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

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

mysql>grant all privileges on *.* to 'root'@'这里写允许其他设备所在的ip地址或者直接用 % 代替,“%”代表所有ip地址' identified by '你的root用户密码 ' with grant option;

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

mysql>flush privileges;

如下图:

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

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

2003-can't connect to mysql server on 'xxx.xxx.xxx.xxx'(10061 "unknown error")

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

 

解决方法如下:

编辑mysql的配置文件:

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

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

 

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

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

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

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

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

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

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

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

 

解决方案如下:

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

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

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

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

保存并重启mysql:

/etc/init.d/mysql restart

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

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

此时修改root用户密码:

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

 

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”:

重要事情说三遍!!!

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

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

 

现在重启mysql:

/etc/init.d/mysql restart

再次测试连接,成功

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

完!

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


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