2016-01-28 30 views
0

訪問MySQL我有一個MYSQL服務器上我Windows 7運行,我需要從Debian VM訪問它,但是當我嘗試我得到這個錯誤:無法從我的VM

ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (110) 

my.ini檢查,沒有「bind-address」參數的標誌,所以我只是不知道錯誤在哪裏。我可以從我的Windows本地完全管理它。我的公司使用代理服務器,但由於我的虛擬機在我的機器上,因此它不應該阻塞任何東西。

感謝您的幫助!

+0

它不僅僅是bind-address,它還取決於正在使用的mysql用戶,該用戶應該可以訪問其他ips而不僅僅是localhost。 –

+0

我總是使用root用戶 – Ashenker

+0

首先從VM檢查ping到windows 7。 –

回答

0

您需要將用戶主機地址更改爲*或給定xxx.xxx.xxx.xxx IP。 看這裏:grant remote access of MySQL database from any IP address

+0

我嘗試過:授予database.dbname的所有特權到'root'@'192.168.%';但它並沒有解決問題.. – Ashenker

+0

你可以嘗試手動編輯mysql數據庫中的用戶表,並刷新privillges。 – mkysoft

+0

我完全可以這樣做,但是我想在該表中手動編輯什麼?一切似乎絕對正確.. – Ashenker

0

你應該檢查:

  • 「綁定地址= 0.0.0.0」是出現在你的my.cnf
  • 您正在使用的用戶具有遠程訪問(不只是「的locahost」)
  • 檢查,如果你有運行

我真的建議創建一個特定的用戶防火牆的MySQL端口(通常是3306)被打開遠程訪問權限有限。

+0

爲什麼要打開虛擬機上的端口3306。 MySQL服務器正在運行在Windows 7上 –

+0

Ooops,抱歉我誤讀了,並且認爲服務器在Debian上。 – Simon

0

從外部訪問MySQL。你應該啓用MySQL遠程訪問。

1-評論在MySQL配置了以下行(的my.cnf/my.ini文件(用於Windows))

#bind-address= 127.0.0.1(如果不存在添加它,然後註釋掉)

#skip-networking

2-保存文件,然後重新啓動MySQL服務器

3-更新GRANT特權

默認情況下,MySQL的userna我和你使用的密碼被允許在本地訪問mysql-server。所以需要更新權限。

運行下面的查詢來更新特權

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

更改「用戶名」到你的數據庫用戶和「密碼」,以用戶密碼

+0

我現在在my.ini中添加了2個註釋參數(沒有找到my.cnf)並重新啓動了服務器,我擁有用戶root的所有授權選項,但仍然得到相同的錯誤.. – Ashenker

+0

您嘗試過什麼查詢更新權限? –

+0

我嘗試了你和@mkysoft的建議,意思是'將所有權限授予*。*到'root'@'192.168.%'使用授予選項;'''授予database.dbname上的所有特權到'root'@'192.168 。'%';' – Ashenker

0

最後我卸載了一切,再次trieed它現在工作,我現在關閉這張票是好的。

感謝那些曾試圖幫助我的人!