1. 程式人生 > >SQLyog客戶端無法連接MySQL服務器

SQLyog客戶端無法連接MySQL服務器

再次 技術分享 spa mysq 沒有 fig tables image all

環境:centos下使用yum 命令安裝了mysql服務

1、進入linux 通過命令service mysqld start啟動mysql的服務

2、使用sqlyog 連接mysql發現連接不上,如下圖:

技術分享

但是在linux本地是可以連接數據庫的。所以說網絡沒有問題;通過netstat -nalp | grep "3306"命令發現3306端口也開啟著;

通過問度娘發現問題可能出在iptables,查看iptables的運行狀態,發現iptables是運行著的,所有通過chkconfig iptables off 關閉了防火墻,通過chkconfig --list,查看如下圖:

技術分享

然後通過命令service iptables stop 停止正在運行的防火墻

註意:

如果不想關閉防火墻也可以通過修改配置文件,將-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT添加到/etc/sysconfig/iptables即可(需重啟iptables服務),表示允許3306端口通過防火墻。

在此使用sqlyog進行登錄;發現還是無法登錄還是提示錯誤信息,如下圖:

技術分享

根據錯誤提示,我本地主機的網卡IP遠程連接時不允許通過該主機連接到MYSQL服務器;可以初步判斷可能是應為缺少權限;

我們需要給用戶添加權限:

登錄mysql,在mysql下輸入如下命令:

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;

//允許用戶root使用密碼123456從任何主機連接到MYSQL服務器

如果需要制定主機,則可以用下面的命令:

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘10.1.1.123‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION; //允許用戶root從IP為10.1.1.123的主機連接到MYSQL服務器,並使用123456作為登錄密碼

授權成功之後,再次嘗試進行遠程連接,可以發現連接成功;如下圖:

技術分享

參考文檔:

http://blog.itpub.net/31015730/viewspace-2143797/

SQLyog客戶端無法連接MySQL服務器