Linux中開啟MySQL遠端訪問功能

zk1878發表於2011-04-04

(1)確認一下3306是否對外開放,mysql預設狀態下是不開放對外訪問功能的。檢視的辦法如下:

Java程式碼 

~# netstat -an | grep 3306  

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN  

 從上面可以看出,mysql的3306埠只是監聽本地的連線,這樣就阻礙了外部IP對該資料庫的訪問,修改的辦法其實很簡單,進入到mysql的配置檔案所在目錄(/etc/mysql/my.cnf)下,找到檔案中的如下內容:

Java程式碼 

# Instead of skip-networking the default is now to listen only on  

# localhost which is more compatible and is not less secure.  

bind-address  = 127.0.0.1  

 將bind-address註釋掉,或者改成你想要使用的客戶端主機IP。

這樣mysql的遠端訪問埠就算開啟了,下面還有一個更重要的步驟,就是要給遠端使用者授權。

(2)確認客戶端使用者是否具有訪問許可權。

為了讓訪問mysql的客戶端的使用者有訪問許可權,我們可以通過如下方式為使用者進行授權:

Java程式碼 

mysql> grant all on *.* to user_name@'%' identified by 'user_password';  

 上面的命令授予的使用者許可權可以訪問mysql中的任意資料庫(database)和表(table)。

完成上面的兩個步驟,重啟mysql即可在遠端登陸mysql伺服器了。Mysql的重啟命令如下:

Java程式碼 

sudo /etc/init.d/mysql restart  

相關文章