MySQL5.5.51启用网络远程连接

在其它电脑主机上访问时提示host ip is not allowed to connect to this mysql

下面代码为解决该问题的方法:

 :Program Filesmysql-5.5.51in>mysql -u root -p

Enter password: ******

Welcome to the MySQL monitor.  Commands end with ; or g.

Your MySQL connection id is 1

Server version: 5.5.51-log MySQL Community Server (GPL)

Copyright (c) 2000, 2011, 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;

Database changed

mysql> select host,user,password from user;

+-----------+------+-------------------------------------------+

| host      | user | password                                  |

+-----------+------+-------------------------------------------+

| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| 127.0.0.1 | root |                                           |

| ::1       | root |                                           |

| localhost |      |                                           |

+-----------+------+-------------------------------------------+

4 rows in set (0.00 sec)

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

ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

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

ERROR 1062 (23000): Duplicate entry ' %-root' for key 'PRIMARY'

mysql> select host,user from user where user='root';

+-----------+------+

| host      | user |

+-----------+------+

|  %        | root |

| 127.0.0.1 | root |

| ::1       | root |

+-----------+------+

3 rows in set (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.02 sec)

mysql> quit;

Bye

D:Program Filesmysql-5.5.51in>net stop MySQL

MySQL 服务正在停止.

MySQL 服务已成功停止。

D:Program Filesmysql-5.5.51in>net start MySQL

MySQL 服务正在启动 .

MySQL 服务已经启动成功。

D:Program Filesmysql-5.5.51in>mysql -u root -p

Enter password: ******

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Y

ES)

D:Program Filesmysql-5.5.51in>mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or g.

Your MySQL connection id is 3

Server version: 5.5.51-log MySQL Community Server (GPL)

Copyright (c) 2000, 2011, 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> exit;

Bye

D:Program Filesmysql-5.5.51in>mysqladmin -uroot password 123456

D:Program Filesmysql-5.5.51in>mysql -uroot -p123456

Welcome to the MySQL monitor.  Commands end with ; or g.

Your MySQL connection id is 6

Server version: 5.5.51-log MySQL Community Server (GPL)

Copyright (c) 2000, 2011, 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> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

  

解释下上面遇到的问题:

1.首先查询有没有开启远程访问(可以让任意IP通过root用户访问)

2.没有开启,则修改host='%',会报错:ERROR 1062 (23000): Duplicateentry ' %-root'for key'PRIMARY'

3.忽略第二个问题,并flush privileges;(刷新MySQL系统权限相关表,否则会报错:拒绝访问)

4.通过命令重新登录报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),原因是密码变成空了,重新设置密码:mysqladmin -uroot password 123456

5.这个时候访问还是报错:  host ip is not allowed to connect to this mysql。通过以下两个命令即可解决,grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;flush privileges;  

参考:https://jingyan.baidu.com/article/60ccbceb05804164cab1978c.html

原文地址:https://www.cnblogs.com/mobilecard/p/9193025.html