mysql设置对外访问

时间:2024-07-07 12:05:56

报错:Host is not allowed to connect to this MySQL server解决方法

先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:

在装有MySQL的机器上登录MySQL mysql -u root -p密码

[root@localhost ~]# mysql -u root -p
Enter password:

执行use mysql;

mysql > use mysql;

执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。

执行FLUSH PRIVILEGES;

全部命令

[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 8.0. MySQL Community Server - GPL Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> update user set host = '%' where user = 'root';
Query OK, row affected (0.06 sec)
Rows matched: Changed: Warnings: mysql> FLUSH PRIVILEGES;
Query OK, rows affected (0.00 sec) mysql>

经过上面4步,就可以解决这个问题了。
注: 第四步是刷新MySQL的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。

如果以上还不能解决问题,可以尝试

报错:authentication plugin 'caching_sha2_password

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

以上两步骤基本可以解决 mysql对外访问了