Linux 设置 Mysql 可远程登录

创建可远程登录用户

安装 Mysql 后默认的 root 用户是本地用户,只可以在本地登录。如下所示:
默认root用户
可以看到 root 用户的 host 为 127.0.0.1 或者 localhost 或者本地主机名,说明只允许本地登录。因此我们需要创建一个可以远程登录的用户,这是通过控制 host 项的值来完成的。如下所示创建了一个可以从任意地方登录的 aaa 用户:
远程用户
可见用户 aaa 的 host 为 %,表示可以从任意地方登录。当然为了安全着想,如果总是从一个固定的外部地址登录,那么这里的 % 最好就改为这个固定的 ip 地址。

无论怎样,我们这时候已经创建好一个可以远程登录的用户啦。试试去登录吧!

仍然无法登录

如果如上正确设置远程登录用户后仍然无法登录,那么很有可能是以下两个原因导致的:

  1. Mysql 的配置文件绑定了只允许本地用户登录
  2. 防火墙屏蔽了 Mysql 默认的 3306 端口。

一个个来排除吧!

检查配置文件

Mysql 的配置文件为 my.cnf,在我的 CentOS7 系统中路径为 /etc/my.cnf,不同系统中可能不一样,可以用 find 命令查找。

打开 my.cnf,寻找这么一行配置信息:

bind-address = x.x.x.x

如果这里 x.x.x.x 为 127.0.0.1,说明 Mysql 绑定了本地地址,只允许本地登录。如果这里 x.x.x.x 为 0.0.0.0 或者压根就没有上面这一行配置,说明 Mysql 允许从任意地方登录。

所以如果配置文件里没有这一行,那就什么都不用管;如果有,那就注释掉或者改成 0.0.0.0 即可。

检查防火墙

编辑防火墙的配置文件,在我系统上为 /etc/sysconfig/iptables,查看里面是否有有关于端口 3306 的规则,如果有就将它相应修改为 ACCEPT,如果没有,就添加以下这一条规则:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

然后重启防火墙即可。如下:

service iptables restart

总结

以上就是我总结的关于在 Linux 系统上设置 Mysql 远程登录的相关知识啦,希望能够对各位朋友有所帮助,^_^。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值