码迷,mamicode.com
首页 > 数据库 > 详细

MySQL远程连接问题解决方法

时间:2019-02-11 12:41:07      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:安装   HERE   flush   0.00   warnings   local   containe   xpath   path   

问题:Host ‘XXX‘ is not allowed to connect to this MySQL server.

原因分析:

1.登录到mysql:
在开始目录下管理员身份运行【MySQL 5.7 Command Line Client】
Enter password: ********
输入密码:xxxxxx
2.查看user表:
mysql> use mysql;
mysql> select host,user from user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| localhost | root |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+---------------+
3 rows in set (0.00 sec)

user表中host、user字段标识了可以访问数据库的主机和用户。当前的数据就表示只能本地主机localhost通过root用户访问。
而通过ip等远程连接不允许连接。

 

解决方法:

为了让数据库支持远程主机访问,有两种方法可以开启远程访问功能。

第一种(改表法):
修改user表中的host字段值,将localhost修改成安装mysql数据库的ip地址。或者直接修改成%。%表示所有主机都可以通过root用户访问数据库。
mysql> update user set host= ‘%‘ where user = ‘root‘;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

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

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


第二种(授权法):
如果你想root使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘192.168.1.3‘ IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;

输入命令mysql> flush privileges;
回车使刚才的修改生效,再次远程连接数据库成功。

 

附注:

window 防火墙务必要开放MySQL连接的端口(默认3306)。

 

MySQL远程连接问题解决方法

标签:安装   HERE   flush   0.00   warnings   local   containe   xpath   path   

原文地址:https://www.cnblogs.com/johsan/p/10361354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!