設置mysql遠程連接root權限

在遠程連接mysql的時候應該都碰到過,root用戶無法遠程連接mysql,隻可以本地連,對外拒絕連接。

需要建立一個允許遠程登錄的數據庫帳戶,這樣才可以進行在遠程操作數據庫。

方法如下:

默認情況下MYSQL數據庫的系統數據庫mysql系統表user內用戶權限隻提供localhost本機登陸;

需要更改權限才能實現遠程連接MYSQL數據庫。

可以通過以下方式來確認:

root#mysql -h localhost -uroot -p

Enter password: ******

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

Your MySQL connection id is 4 to server version: 4.0.20a-debug

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use mysql; (此DB存放MySQL的各種配置信息)

Database changed

mysql> select host,user from user; (查看用戶的權限情況)

mysql> select host, user, password from user;
+———–+——+——————————————-+
| host       | user | password                                   |
+———–+——+——————————————-+
| localhost | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| 127.0.0.1 | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| localhost |       |                                            |
+———–+——+——————————————-+
4 rows in set (0.01 sec)

由此可以看出,隻能以localhost的主機方式訪問。
解決方法:
mysql> Grant all privileges on *.* to 'root'@'%' identified by 'kdm001' with grant option;
(%表示是所有的外部機器,如果指定某一臺機,就將%改為相應的機器名;‘root’則是指要使用的用戶名,)
mysql> flush privileges;    (運行此句才生效,或者重啟MySQL)
Query OK, 0 rows affected (0.03 sec)

再次查看。。

mysql> select host, user, password from user;
+———–+——+——————————————-+
| host       | user | password                                   |
+———–+——+——————————————-+
| localhost | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| 127.0.0.1 | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| localhost |       |                                            |
| %          | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
+———–+——+——————————————-+
4 rows in set (0.01 sec)

可以看出已經添加瞭一個新的用戶
 
檢查mysqld監聽模式是不是設為隻監聽localhost瞭,
 
用netstat看看,如果是的話。找到mysql的配置文件my.cnf,把bind address修改這臺機器的真實IP就可以瞭
 
或者直接把bind address這一項註釋掉也行。需要重啟才能生效。

退出,試試效果….

現在可以成功登錄瞭..

 

本文出自“jie的博客”

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *