LNMP1.5解决MySQL无法远程连接问题

最近Sandy想弄个热备的mysql服务器,但是lnmp下的套件一直连接不上。最后发现问题了,附上解决问题

解决思路:

之前也遇到过这个问题,解决的途径也是五花八门,从百度和Google上也看到各种解决方案,基本上分以下几种:

1.没有给root对应的权限

1
2
3
# @'192.168.1.123'可以替换为@‘%’就可任意ip访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.123' IDENTIFIED BY '' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

2.直接用 UPDATE 更新 root 用户 Host, 但不推荐

1
2
mysql> UPDATE user SET Host='192.168.1.123' WHERE User='root' AND Host='localhost' LIMIT 1;
mysql> FLUSH PRIVILEGES;

以上2种方法大刘都使用了,问题依然没有解决。于是继续在lnmp官网上找寻答案,结果终于找到了。https://lnmp.org/faq.html

MySQL/MariaDB无法远程连接,如何开启?
为了安全LNMP默认是禁止远程连接的,开启方法:https://bbs.vpser.net/thread-13563-1-1.html

直接通过iptables进行操作

1.查看已有的iptables规则,以序号显示

1
iptables -L -n --line-numbers

https://blog.e9china.net/wp-content/uploads/2019/04/1-1.jpg

看命了我们发现3306是drop的,所以我们要删掉或者允许。

2.删除对应的DROP规则

1
iptables -D INPUT 6

3.查看iptables策略:

1
iptables -L

4.保存策略到指定文件(后面文件路径及文件名可自定义):

1
iptables-save > /etc/network/iptables.up.rules

5.应用策略:

1
iptables-apply

输入 y

6.删除策略

需先cat /etc/network/iptables.up.rules确认删除第几行,或者直接操作/etc/network/iptables.up.rules文件也行:

1
iptables -D INPUT 2