mysql解決遠程登錄無法連接的問題

當我們在linux下安裝好mysql後,發現在其它pc機上用navicatfor mysql等工具連接時出現拒絕訪問的情況,而只能在本機上連接,這時候需要建立一個允許遠程登錄的數據庫帳戶,這樣纔可以進行在遠程操作數據庫。

方法如下:

默認情況下MYSQL數據庫的系統數據庫mysql系統表user內用戶權限只提供localhost本機登陸;需要更改權限才能實現遠程連接MYSQL數據庫。

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

通過ssh工具連接linux(或者直接在linux上操作),-P3307表示mysql端口,默認爲3306可以不用加

root#mysql –h127.0.0.1-uroot -P3307 -p

Enter password: ******

Welcome to the MySQLmonitor. Commands end with ; or \g.

Your MySQL connection idis 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, password from user;
+-----------+------+-------------------------------------------+

| host      | user | password                                  |

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

| localhost | root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| linux     | root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| localhost |      |                                           |

| linux     |     |                                           |

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

4 rows in set (0.00 sec)

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

再次查看。。

mysql> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| linux     | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost |      |                                           |
| linux     |      |                                           |
| %         | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+------+-------------------------------------------+
5 rows in set (0.00 sec)

可以看出已經添加了一個新的用戶

檢查mysqld監聽模式是不是設爲只監聽localhost了,
後面藍色的文字在較高的版本的情況下就不需要添加了
用netstat看看,如果是的話。找到mysql的配置文件my.cnf,把bindaddress修改這臺機器的真實IP就可以了

或者直接把bind address這一項註釋掉也行。需要重啓才能生效。

退出,試試效果....

現在可以成功登錄了..

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章