配置Mysql允许远程访问

把Mysql安装在服务器上,然后在本地访问,发现提示Host '***' is not allowed to connect to this MySQL server,

错误提示很明确,就是目标主机上的Mysql服务不允许连接。

1. 打开命令提示符,执行Mysql -uroot -proot命令(如果提示Mysql不是内部或外部命令什么的,需要设置环境变量),输入mysql的用户名root和密码登录进去。

2. 执行use mysql; 切换数据库。

3. 查询user表,看host和user情况,如下:

mysql> select user,host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | localhost         |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)

默认情况下所有的用户都是只能本机访问,我们需要把需要远程访问的用户的host字段值改成%

host字段代表你能访问这个数据库的地址,localhost代表的是本地访问,%表示远程访问,于是我们执行以下语句:

update user set host='%' where user='root';

修改好host之后,我们要让它立即生效,还要执行这样一个语句: flush privileges;

操作完成之后,再用root远程访问就可以了。

原文地址:https://www.cnblogs.com/li150dan/p/15175201.html