1. 程式人生 > >MySQL5.5.51啟用網絡遠程連接

MySQL5.5.51啟用網絡遠程連接

sql 服務 files spec KS 系統權限 tor sta min

在其它電腦主機上訪問時提示host ip is not allowed to connect to this mysql

下面代碼為解決該問題的方法:

 :\Program Files\mysql-5.5.51\bin>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 Files\mysql-5.5.51\bin>net stop MySQL

MySQL 服務正在停止.

MySQL 服務已成功停止。

D:\Program Files\mysql-5.5.51\bin>net start MySQL

MySQL 服務正在啟動 .

MySQL 服務已經啟動成功。

D:\Program Files\mysql-5.5.51\bin>mysql -u root -p

Enter password: ******

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

ES)

D:\Program Files\mysql-5.5.51\bin>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 Files\mysql-5.5.51\bin>mysqladmin -uroot password 123456

D:\Program Files\mysql-5.5.51\bin>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

MySQL5.5.51啟用網絡遠程連接