mysql远程登录的那些事
2016-10-28 15:25
183 查看
在使用远程服务器的时候,经常会遇到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数据库的所有权限
以上,具体权限之类的可以自己去探索,这里就不多做解释了
首先,我们需要确认服务器的防火墙是否屏蔽了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数据库的所有权限
以上,具体权限之类的可以自己去探索,这里就不多做解释了
相关文章推荐
- mysql远程登录的那些事
- Mysql 开启远程登录
- mysql 远程登录修改方法
- Mysql 远程登录及常用命令(一)
- mysql实现远程登录
- MySQL添加远程登录用户
- mysql远程登录
- mysql 创建远程登录账户
- c#连接mysql以及mysql远程登录的配置
- 为mysql添加root远程登录权限
- Mysql远程登录命令
- 实现Mysql的远程登录 ZT
- ubuntu 9.10 下mysql远程登录管理的设置
- 为mysql添加root远程登录权限
- mysql远程登录
- mysql中解决root用户不能远程登录
- Ubuntu中 Mysql 远程登录的解决方法
- 如何打开MySQL中root账户的远程登录
- ROOT用户远程登录MYSQL
- mysql获取远程用户登录权限语句