2009-06-02 135 views
3

我有一個VPS,我想讓mysql數據庫接受外部連接(例如從我的電腦)。我在服務器上安裝了Debian Linux。我在網上查了一些教程,他們說要評論:如何使mysql接受外部連接

bind-address   = 127.0.0.1 

但這似乎沒有幫助!有什麼特定的VPS嗎?還是我缺少別的東西?運行MySQL的命令是:

/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock 

回答

4

MySQL服務器必須被配置爲從外部接受連接(結合到正確的網絡接口適當時),和它的防火牆必須被配置爲允許該端口(TCP端口3306)上的傳入連接。這可能已經或可能不會在您安裝MySQL時設置(如果您使用的是* nix,請參閱iptables)。

還必須考慮到這一點在MySQL權限,如下所示。

通常情況下,設置你的MySQL權限時,我們只會向設置用戶訪問權限@「localhost」的。您需要確保用戶帳戶及其授予的權限都設置爲您將要連接的相應主機名或IP地址。例如,你可以創建一個新的授權用戶:

GRANT ALL PRIVILEGES ON somedatabase.* TO [email protected]'somehostname' IDENTIFIED BY 'password'; 
FLUSH PRIVILEGES; 

你需要做的這一切,然後才能連接到該服務器從遠程使用這樣的事情(本例中使用PHP):

mysql_connect('mysqlservername', 'someuser', 'password'); 
0

你必須綁定地址設置爲您的計算機的外部IP地址的值,而不是本地主機的IP地址。之後不要忘記重新啓動MySQL服務。

檢查these other answers出更多的細節。

+0

我試過,服務器啓動後無法啓動 啓動MySQL數據庫服務器:mysqld。 。 。 。 。 。 。 。 。 。 。 。 。 。 失敗! 還有什麼我不得不做的,如打開端口或類似? – Tam 2009-06-02 06:08:39

+0

我懷疑在那裏有擴展省略號的地方提到了一些關鍵的東西。 – ysth 2009-06-02 06:31:39

1

您還可以綁定地址更改爲您的VPS機器的外部IP(IPCONFIG將幫助)。

並授權從您的PC訪問。從本地主機連接到數據庫超級用戶權限,做到:

grant all privilege on *.* to `username`@`your-pc-id` identified by 'your-password' 

欲瞭解更多信息通過MySQL grant documentation看。