导语:有位客户的机器需要开放MySQL的远程连接,当配置完账号权限后,却发现远程连接的时候出现Can’t connect to MySQL server on (111 “Connection refused”)的问题,经过排查解决了这个问题。下面是步骤。

开放Mysql的远程连接

在服务器上登录mysql,然后执行以下的命令。

登录mysql:

1
mysql -u root -p

执行赋权的命令:

1
2
MySQL> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION; 
MySQL> flush privileges;

也可以直接重启mysql。

1
service mysql restart

远程连接MySQL

在本地连接mysql,我们可以使用mysql workbench,这是一款英文的mysql的客户端。

连接的时候出现错误:

1
Can't connect to MySQL server on Ip地址 (111 "Connection refused")

检查 my.cnf

在my.cnf的配置文件中,有参数控制它是否运行在网络上。例如查看这个 my.cnf

1
vi my.cnf

如果是老的版本,使用 #屏蔽 skip-networking,如下

1
#skip-networking

如果是新的版本,使用 # 屏蔽 bind-address。

1
#bind-address  = 127.0.0.1

或者指定允许访问的ip

1
#bind-address = 192.168.1.2

重启mysql。

1
service mysql restart

在屏蔽 #skip-networking 后,再远程连接mysql就OK了。