1、连接时报错 host is not allowed to connect this mysql server
解决方法
在装有MySQL的机器上登录MySQL mysql -u root -p密码
执行use mysql;
执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
执行FLUSH PRIVILEGES;
2、又报错
解决方法
需要先将root用户的host配置成%:mysql>update user set host="%" where user="root";
然后将密码规则给修改一下:mysql>ALTER USER 'root'@'%' IDENTIFIED BY '自己设置的密码' PASSWORD EXPIRE NEVER;
最好再重新设置一个密码:mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '(自己设置的新密码)';
mysql> FLUSH PRIVILEGES;
mysql> exit
3、
因为centos8默认的防火墙是firewalld防火墙,不是使用iptables,因此需要先关闭firewalld服务,或者干脆使用默认的firewalld防火墙。
因为这次报错的服务器是一台刚刚购买的阿里云服务器,所以在操作上忘记关闭默认防火墙的步骤了才导致浪费了些时间在这件事情上。
关闭firewalld:
-
systemctl stop firewalld
-
systemctl mask firewalld
使用iptables服务:
-
#开放443端口(HTTPS)
-
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- 开放3306端
- cd/etc/sysconfig
-
vi ./iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8098 -j ACCEPT
注意:添加的这行命令必须在-A INPUT -j REJECT --reject-with icmp-host-prohibited之前以上的8098为需要开放的端口号
service iptables restart
-
#保存上述规则
-
service iptables save
-
#开启服务
-
systemctl restart iptables.service
-
重启mysql服务
service mysqld restart