標籤:
在串連到 mysql 資料庫伺服器時,有時會在用戶端報出 2003 的錯誤碼,並提示: 無法串連到伺服器,但伺服器卻可以 ping 通,可能的原因如下:
1.網路不通。
檢查能不能ping通。
2.防火牆設定。
防火牆是否放過mysql的進程,是否屏蔽了mysql的3306連接埠。
3.mysql的賬戶設定。
mysql賬戶是否不允許遠端連線。如果無法串連可以嘗試以下方法:
mysql -u root -p //登入MySQL mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘WITH GRANT OPTION; //任何遠程主機都可以訪問資料庫 mysql> FLUSH PRIVILEGES; //需要輸入次命令使修改生效 mysql> EXIT //退出
也可以通過修改表來實現遠程:
mysql -u root -p mysql> use mysql; mysql> update user set host = ‘%‘ where user = ‘root‘; mysql> select host, user from user;
4. mysql資料庫沒有啟動
這種情況也正是我遇到的,到windows服務選項裡查看發現沒有mysql資料庫服務這個選項,記得剛開始安裝mysql的時候是有的。所以這種情況下我重新安裝了一下mysql資料庫,windows服務裡又有這個選項了,重新啟動mysql資料庫,可以正常串連和使用mysql資料庫了。
5.MySQL 伺服器資源緊張,導致無法串連
解決方案:
(1)、如果你是虛擬機器主機使用者(購買的空間),則聯絡空間商檢查 MySQL 是否正常啟動,並確認 MySQL 的配置資訊(是否為 localhost);
(2)、如果你是外掛式主控件使用者(擁有管理主機許可權),則按下面步驟檢查:
1)檢查是否啟動了 MySQL 服務。
Windows 主機的話,右鍵點擊我的電腦,單擊管理,在服務和應用程式中找到 MySQL 服務,看是否是已啟動的狀態。
如果出現"ERROR 2003: Can‘t connect to MySQL server on ‘localhost‘ (10061)", 說明你的MySQL還沒有啟動。
解決辦法:
第一步
刪除c:windowns下面的my.ini
第二步
開啟c:mysqlbinwinmysqladmin.exe 輸入使用者名稱 和密碼
第三步 在dos下 輸入 mysqld-nt -remove 刪除服務
在接著輸入 mysqld-nt -install
第四步 輸入mysql 啟動成功
其實錯誤的原因也不外乎以上幾個方面,相信按照上面的思路找出原因,定能將問題解決掉。也可以參考這裡的問題集: http://database.51cto.com/mysql/
關於 mysql 2003 用戶端串連報錯的處理方法