mysql远程登录的那些事

在使用远程服务器的时候,经常会遇到MySQL远程登陆不上的问题,我最开始也被坑了一天,所以我把这些问题解决方法整理一下。


首先,我们需要确认服务器的防火墙是否屏蔽了3306这个端口(这是mysql远程连接的默认端口)

iptables -L -n

然后就可以看到防火墙规则列表

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:1080
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:110
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8080


Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         


Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp spt:31337
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:31337


如上图所示,这里我的3306端口是打开了的,ACCEPT,如果是DROP那就说明防火墙关闭了3306端口,这时就需要删除这条规则

iptables -D INPUT 3  //删除第三行的规则

如果你不是第三行填上指定的行数即可,做完之后保存规则表iptables-save 


下一步,增加远程登录的用户(不建议使用root用户)

登录mysql

mysql -u root -p

输入密码登录,执行以下命令

grant all privileges on base.* to user@"%" identified by 'password';
flush privileges;

exit;

这里是为base数据库增加了一个远程用户,可以在任意地方登录,拥有base数据库的所有权限

以上,具体权限之类的可以自己去探索,这里就不多做解释了


http://blog.csdn.net/w2180z/article/details/52956694

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值