萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql遠程訪問權限配置方法詳解

mysql遠程訪問權限配置方法詳解

由於公司業務需要需要遠程訪問數據,網上的方法還是蠻多的,但是找了很多都不好用,下面我整理了幾個比較靠譜的幾個答案下面一起來看看

例子一

 代碼如下 復制代碼

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)

copyright © 萬盛學電腦網 all rights reserved