SQLyog客戶端無法連接MySQL服務器
環境: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;
如果需要制定主機,則可以用下面的命令:
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服務器