无法连接远程服务器mysql数据库

1. 排除网络或防火墙问题

配置防火墙,开启3306端口

# vim /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
/etc/init.d/iptables restart(重启防火墙使配置生效)

2. 检查用户访问权限

MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost,那么这个用户就只能本机访问, 其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。

你想root用户名使用root密码从任何主机连接到MySQL服务器的话。

登陆远程服务器

# mysql -uroot -proot

查看host:

use mysql
select host,user from user;

这里并没有开启 允许远程连接

运行命令:

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

 再次查看

select host,user from user;

设置成功退出mysql  > quit

重启mysql

# service mysql restart

3、配置云服务器的安全策略组

 4、查看服务器3306端口是否运行

进入到你的远程服务器输入命令

$ netstat -ntlp

运行lsof -i:3306命令行查询3306是否被使用 

$ lsof -i:3306 

运行ps aux|grep MySQL命令行看mysql是否在运行 

$ ps aux|grep mysql

有时候是没有运行的

mysql服务虽然在运行,可以在本地操作,但没有运行在3306端口!!!fuck!

如果你是用的linux版的xampp就蛋疼了!

此时修改mysql的配置文件如在xampp情况是在 /opt/lampp/etc/my.cnf中

$ vim /opt/lampp/etc/my.cnf

将此段下面的参数skip-networking注释重启mysql服务,远程连接mysql正常。 
#skip-networking 
原因:参数skip-networking起的作用是:mysql不再在TCP / IP端口上进行监听,导致无法远程连接。

 

转载于:https://www.cnblogs.com/love-snow/articles/7338644.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值