Navicat连接ubuntu上MySQL报错:2003-Can’t connect to MySql server on ‘x.x.x.x'(10061 “Unknown error”)

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

Navicat连接ubuntu上MySQL报错
Navicat连接ubuntu上MySQL报错

安装MySQL非常快速,只需要几个命令,当已经完全安装好MySQL了,接下来是允许其他电脑连接服务器的MySQL(如果你不需要使用其他工具连接MySQL请自行忽略以下内容)

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

(注意!!!如果你有phpmyadmin控制面板,是可以在控制面板可视化操作的,关于具体操作可以百度!!)

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '×××' WITH GRANT OPTION;

%处: 这里写允许其他设备所在的IP地址或者直接用 % 代替,“%”代表所有ip地址

×××: 你的root用户密码

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

mysql>FLUSH PRIVILEGES;

这时候就可以尝试使用其他机器上的设备连接Ubuntu上的mysql(我用的是Navicat),会出现上面的报错。

解决方法如下:

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

修改bind-address
修改bind-address

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

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

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

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

Navicat连接MySQL成功
Navicat连接MySQL成功

注意:出现连接MqSQL不成功的问题,除了以上两个重要的问题,还有可能是平台服务商的问题,例如要在阿里云服务器ECS中配置安全规则(开放端口)、关闭UBuntu操作系统的防火墙(或者在开启防火墙的情况下,使用命令打开3306端口)等等。

能帮的就这么多了,我当时瞎折腾了半天,最后找到问题是 bind-address 没有改!!!

滚动至顶部