例子一
代碼如下 復制代碼grant all privileges on wxtest.* to [email protected] identified by '11111'
增加一個root175用戶,密碼為11111,只能在111.34.73.175上登錄,並對數據庫wxtest有查詢,增加,修改和刪除的功能。需要在mysql的root用戶下進行執行,這個如果以這個用戶登錄的話是只能看到wxtest這個表的
代碼如下 復制代碼flush privileges;
刷新權限操作
格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by “密碼”;
增加一個test1用戶,密碼為123456,可以在任何主機上登錄,並對所有數據庫有查詢,增加,修改和刪除的功能。需要在mysql的root用戶下進行
mysql>grant select,insert,update,delete on *.* to test1@”%” identified by '123456';
mysql>flush privileges;
取消授權
當然,有授權,就一定有取消授權:
Sql代碼 收藏代碼
REVOKE ALL ON *.* FROM [email protected];
FLUSH PRIVILEGES;
這裡需要主要的是一定要在你的防火牆中加上通過3306端口。如過通過的3306端口,試試telnet ip 3306 看看可不可以訪問了,如果你的你的防火牆關閉了還沒有telnet上去,那你就應該問問空間商了,他們有可能在他們的硬件防火牆上開啟了3306,別問我怎麼知道,我先哭會去!
Mysql無法遠程連接的問題
1、Mysql的端口是否正確
通過netstat -ntlp 查看端口占用情況,一般情況下端口是3306。在用工具連接MySQl是要用到端口。例如My AdminMy Query BrowserMySQl Front等。
2、檢查用戶權限是否正確
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
4、查看iptables是否停掉,沒關的情況下,無法連接
通過:service iptables stop臨時關閉。
報錯:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)