我正在運行Rails應用程序,所以現在我試圖遠程連接到mysql並且出現此錯誤 無法連接:從主機無法連接:在'讀取初始通信數據包'時丟失了與MySQL服務器的連接,系統錯誤:0
shell> telnet IP 3306
如果MySQL已啓動並可以你會看到在輸出的telnet MySQL版本0
我正在運行Rails應用程序,所以現在我試圖遠程連接到mysql並且出現此錯誤 無法連接:從主機無法連接:在'讀取初始通信數據包'時丟失了與MySQL服務器的連接,系統錯誤:0
shell> telnet IP 3306
如果MySQL已啓動並可以你會看到在輸出的telnet MySQL版本0
檢查:在「讀通信初始化數據包」,系統錯誤而丟失連接到MySQL服務器。 否則檢查防火牆等,直到telnet成功。
然後我建議你先與本機mysql客戶端連接,將Rails從問題唱段中排除。
謝謝你的努力的傢伙,我已經找到了解決辦法,我是假設設定爲MySQLhere遠程連接是誰得到了同樣的錯誤鏈接,有人 http://benrobb.com/2007/01/15/howto-remote-root-access-to-mysql/
你可能要檢查你的/等/ hosts.deny中其中:
ALL: ALL: DENY
或
mysqld: ALL: DENY
是你的敵人。
您需要編輯您的mysql配置文件,默認bind-adress
設置爲127.0.0.1
。
公開賽:/etc/mysql/my.cnf
更改bind-adress
到IP,你要使用到yoursef連接到數據庫服務器。
啓用遠程訪問
MySQL服務器並不默認的TCP端口3306上監聽。以允許(遠程)的TCP連接,註釋以下行中/etc/mysql/my.cnf:
跳過聯網
記住通過添加下列行來編輯文件/etc/hosts.allow:
的mysqld:ALL:ALLOW
的mysqld-MAX:ALL:ALLOW
的mysqld-MAX:ALL:允許解決了這個問題對我來說
重新引導服務器爲我工作。無需更改設置。
大家現在有除了我們大家都會有這樣的事實不同的操作系統來安裝和配置上我們的機器的MySQL DBMS(數據庫同治系統)許多不同的方式(Linux操作系統,OSX,贏得$擊等)
在我的特別情況下,我是越來越
connect': Lost connection to MySQL server at 'reading initial communication packet', system error: 102 (Mysql2::Error)
但我甚至沒有/etc/hosts.deny
我只有/etc/hosts
因爲我用簡單的GUI應用程序OSX
MySQL實例狀態爲不正確上面的圖像只是MySQL OSX APP的參考。
簡單的服務器重新啓動解決了這個問題。(在我的情況下不得不重新啓動我的機器,但涉及重新啓動MySQL服務器)
我終於能夠達到我的本地實例再一次就好了,沒了改變,創建單個文件。
希望這有助於我看到Malcolm的回答和評論,讓我覺得這是很好的張貼此。
這解決了它。是固定的my.cnf和轉發3306 – f1sh 2010-05-12 07:40:51
添加到您的/etc/hosts.allow中來解決這個問題之後的最後一道屏障: 的mysqld:ALL 您可以允許客戶只從一些網絡這樣的未來: 的mysqld: 192.168.1.0/255.255.255.0 – 2010-12-07 21:08:29
我的天啊,你救了我。 – netvision73 2014-02-27 11:49:18