大多的MySQL都是裝在Linux上的,而我們的本機上一般都會裝MySQL-Front.那如何用MySQL-Front串連遠端Linux系統上的mysql呢?用MySQL-Front串連遠端的MYSQL就會有些問題。大多提示1045錯誤:"Access denied for user duan@192.168.0.104,請檢查使用者名稱和口令".怎麼回事呢?首先讓我們看一下遠端MYSQL的使用者表mysql> select host,user
-> from user;
+---------------+------+
| host | user |
+---------------+------+
| localhost | root |
+---------------+------+
5 rows in set (0.00 sec)由此我們可以看到root使用者僅允許本地(localhost)登入,如果要遠程登入該mysql伺服器的話,就需要建立一個普通許可權的使用者,建立使用者使用如下命令:mysql> grant select,update,insert,delete on mas.* to duan@localhost identified by "123456";這句命令的意思是:建立使用者duan,並且只允許該使用者在本地(localhost)登入,密碼是123456,並且賦予它對mas庫中所有表select,update,insert的許可權。我們在這有一個mas庫,所以用mas.*代表mas庫下的所有表。如果要對所有的表,包括mysql庫的表都有操作許可權則可以替換成“*.*”.現在該duan使用者,已經可以登入mysql了,但是也還是只能本地登入。若要duan使用者可以遠程登入mysql,則還需要如下命令:mysql> update user set host = '%' where user = 'duan';現在我們再查看mysql的管理庫:mysql> select host,user
-> from user;
+-----------+------+
| host | user |
+-----------+------+
| % | duan |
| localhost | root |
+-----------+------+
5 rows in set (0.00 sec)通過以上操作,我們知道其實用root使用者也可以遠程登入mysql的,就是把root的host欄位改成%即可,但是強烈不建議如此做,否則會帶來嚴重的安全風險。好了,我們可以串連我們的遠端mysql了,在MySQL-Front上建立串連,輸入串連名,遠端的Linux的IP地址,輸入使用者名稱duan和密碼123456,選擇串連連接埠,mysql預設的是3306,OK,串連成功了。祝賀一下!!!注意事項:一:Linux防火牆一定要開放3306連接埠。二:我用mysql5.0做實驗,完全沒有問題,但是mysql4.0好像有點問題。我們可以用duan使用者在任何IP上登入資料庫,應為我們duan使用者的host欄位是“%”。但是我只要一換IP,就無法串連mysql了。不知道是mysql版本的問題,還是我輸入命令的時候有誤。此問題需要進一步的證實。
備忘:我從另一篇部落格中看到在建立串連時在伺服器後面填入ip地址即可,使用資料庫選擇mysql就可以了
感歎網路上如此眾多的牛人!如今真的成了通過看部落格和寫部落格學習交流的時代了. 上午的時候安裝IIS組件
然後配置,全部都是一頭霧水.在網上搜尋一下,會搜出一片解決問題的辦法,最後終於搞定了,具體又說不出來搞定的.但是我想如果再有類似情況出現的話,會解決的更快.也許經驗就是這麼得來的.這個摸索的過程本身就是對事物的熟悉過程.如果出現問題,旁邊的人立即就指點迷津,是達不到這種效果的.
來自:http://hi.baidu.com/zheng_hu1226/blog/item/a77f0711105dc015b8127bde.html