mysql如何開啟遠程訪問?

mysql -u root -p

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

Your MySQL connection id is 6 

Server version: 5.6.23-log Source distribution

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

./etc/init.d/mysql restart

Shutting down MySQL. [ OK ] 

Starting MySQL. [ OK ]

mysql -u root -p

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

ES)

mysql -u root -p

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

Your MySQL connection id is 6 

Server version: 5.6.23-log Source distribution

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

mysqladmin -uroot password 123456

mysql -uroot -p123456

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

Your MySQL connection id is 6 

Server version: 5.6.23-log Source distribution

Copyright (c) 2000, 2015, 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 gra

nt 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;

You May Also Like