由于公司業(yè)務(wù)需要需要遠程訪問數(shù)據(jù),網(wǎng)上的方法還是蠻多的,但是找了很多都不好用,下面我整理了幾個比較靠譜的幾個答案下面一起來看看.
例子一,代碼如下:
grant all privileges on wxtest.* to root175@111.34.73.175 identified by '11111'
增加一個root175用戶,密碼為11111,只能在111.34.73.175上登錄,并對數(shù)據(jù)庫wxtest有查詢,增加,修改和刪除的功能,需要在mysql的root用戶下進行執(zhí)行,這個如果以這個用戶登錄的話是只能看到wxtest這個表的,代碼如下:
flush privileges;
刷新權(quán)限操作
格式:grant 權(quán)限 on 數(shù)據(jù)庫.* to 用戶名@登錄主機 identified by “密碼”;
增加一個test1用戶,密碼為123456,可以在任何主機上登錄,并對所有數(shù)據(jù)庫有查詢,增加,修改和刪除的功能,需要在mysql的root用戶下進行,代碼如下:
mysql>grant select,insert,update,delete on *.* to test1@”%” identified by '123456';
mysql>flush privileges;
取消授權(quán),當然,有授權(quán),就一定有取消授權(quán),Sql代碼如下:
REVOKE ALL ON *.* FROM admin@X.Y.Z.W;
FLUSH PRIVILEGES;
這里需要主要的是一定要在你的防火墻中加上通過3306端口,如過通過的3306端口,試試telnet ip 3306 看看可不可以訪問了,如果你的你的防火墻關(guān)閉了還沒有telnet上去,那你就應(yīng)該問問空間商了,他們有可能在他們的硬件防火墻上開啟了3306,別問我怎么知道,我先哭會去.
Mysql無法遠程連接的問題
1、Mysql的端口是否正確
通過netstat -ntlp 查看端口占用情況,一般情況下端口是3306。在用工具連接MySQl是要用到端口。例如My AdminMy Query BrowserMySQl Front等。
2、檢查用戶權(quán)限是否正確
mysql庫的user表里有兩條記錄:host分別為localhost和%(為了安全,%可以換成你需要外部連接的IP)。
3、查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉
需要注掉,報錯:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111),代碼如下:
- sudo gedit /etc/mysql/my.cnf
- #skip-external-locking
- #bind-address = 127.0.0.1
- skip-name-resolve //Vevb.com
4、查看iptables是否停掉,沒關(guān)的情況下,無法連接
通過:service iptables stop臨時關(guān)閉。
報錯:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)
新聞熱點
疑難解答
圖片精選