问题描述:远程访问远程MySQL时,提示连接不上。

解决过程:

一、开启远程访问:

use mysql; 
update user set host = “%” where user = “root”; 
flush privileges;(不能忘记这一步

详情如下图:

远程连接MySQL时连接不成功的解决方案

另附上关闭 远程访问(可忽略)

关闭远程访问: 
use mysql; 
update user set host = “localhost” where user = “root” and host= “%”; 
flush privileges;

二、若步骤一过后未成功,键入命令netstat -ntpl,查看3306端口;发现为127.0.0.1

远程连接MySQL时连接不成功的解决方案

修改mysqld.cnf文件中的bind-address,改为0.0.0.0(表示无限制,也可改为你指定的ip)

远程连接MySQL时连接不成功的解决方案

记得要重启mysql服务:(附mysql一些相关命令)

1、查看mysql版本
方法一:status;
方法二:select version();

2、Mysql启动、停止、重启常用命令
a、启动方式
1、使用 service 启动:
[[email protected] /]# service mysqld start (5.0版本是mysqld)
[[email protected] etc]# service mysql start (5.5.7版本是mysql)

2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld start

3、使用 safe_mysqld 启动:
safe_mysqld&

b、停止
1、使用 service 启动:
service mysqld stop

2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld stop

3、mysqladmin shutdown

c、重启
1、使用 service 启动:
service mysqld restart 
service mysql restart (5.5.7版本命令)

2、使用 mysqld 脚本启动:
/etc/init.d/mysqld restart

三、经过步骤二若还出错,查看系统防火墙的3306端口是否开放

键入命令:sudo iptables -L -n | grep 3306,查看端口状况,发现没有显示,即没有开放3306端口,如下图:

远程连接MySQL时连接不成功的解决方案

替iptables新增一条3306的端口允许通过规则,在重新检查一下iptables ,如下图:

新增命令:sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

远程连接MySQL时连接不成功的解决方案

OK。。。

相关文章: