2017-02-14 46 views
0

我有問題通過遠程訪問連接到我的MySQL服務器。我正在使用MySQL工作臺。一切都設置正確(我介意)。 MySQL服務器使用Plesk在Ubuntu 16.04上運行。MySQL遠程訪問不可能

我的用戶擁有所有權利(包括補助金),在my.cnf遠程限制被註釋掉:

# bind-address = ::ffff:127.0.0.1 

數據庫名是「本地主機」,我嘗試通過的IP地址進行連接我的服務器。

重要的是,沒有用戶錯誤(例如錯誤的密碼或缺少權限)。所以我認爲,這是一個防火牆問題。

+0

可能確實是防火牆的問題,但可以有其他的。查看我的問題解答視頻是否可以幫助您:https://www.youtube.com/watch?v=DCgRF4KOYIY&t=842s –

回答

1

1.更改mysql的配置

找到mysql的配置文件或

/etc/mysql/my.cnf 

(如果上述文件指向!了includedir /etc/mysql/mysql.conf.d/)

/etc/mysql/mysql.conf.d/mysqld.cnf 

註釋出以下行(如果有)

#bind-address = 127.0.0.1 

這使得localhost以外的外部連接(127.0.0.1)

#skip-networking 

的TCP/IP端口,這讓聽

2.更改GRANT特權

mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' 
IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; 

繼確保用戶可以訪問數據庫中的所有模式

*.* 

%確保用戶可以從任何IP地址/網絡

'USERNAME'@'%' 

連接然後運行該命令以應用更改。

mysql> FLUSH PRIVILEGES; 

3.重新啓動MySQL服務器

重啓服務器

service mysql restart 

4。連接到服務器的MySQL

默認端口是

3306 

你也可以發現,它的使用此命令

netstat -tln 

它應該返回像這樣

tcp  0  0 127.0.0.1:3306    0.0.0.0:*     LISTEN 
運行的端口

在MySQL Workbench中

用作主機名的SQL Server的IP地址

使用3306的端口號

使用您授予

接入用戶

您在GRANT命令中使用使用「密碼」

請參考https://easyengine.io/tutorials/mysql/remote-access/

+0

我的場景:使用Plesk的Ubuntu 16.04,第一步爲我工作。謝謝! –