在输入 firewall-cmd –permanent –zone=public –add-port=3306/tcp 时可能会报 ‘FirewallD is not running’,是说防火墙本身就没有打开,解决方法:
① 查看防火墙状态:systemctl status firewalld,会发现状态是 dead,即防火墙未开启。
② 打开防火墙:systemctl start firewalld
③ 再次查看防火墙状态:systemctl status firewalld,这时会发现状态变为 running,即防火墙开启成功。
这时再输入开放 3306 端口的命令就没有问题了。
——————————————————————————–
设置允许远程访问
默认情况下 MySQL 是不允许远程连接的,所以在 Java 项目或者 MySQLWorkbench 等数据库连接工具连接服务器上的 MySQL 服务的时候会报 “Host ‘x.x.x.x’ is not allowed to connect to this MySQL server”。可以通过下面的设置解决。详细可以参考之前写的一篇文章 XXX is not allowed to connect to this MySQL server。
① grant all privileges on *.* to root@”%” identified by ‘0’;
② flush privileges;
——————————————————————————–
提示:
在执行第一条命令的时候,可能会报:
‘ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.’ 需要让我们重置密码。原因是因为我刚刚的命令中设置的数据库密码是0,这个密码过于简单,不符合 MySQL 的安全要求。只要重新设置一个复杂点的密码就可以了:
mysql> SET PASSWORD = PASSWORD(‘xxx’); //xxx 是重置的新的复杂的密码