MySQL遠端連線不上的解決

來源:互聯網
上載者:User

MySQL遠端連線不上的解決

之前遇到過MySQL本地可以串連但是遠程連不上的問題,沒有記錄,今天在雲上新申請的伺服器上又遇到這個問題,記錄一下解決過程。

1. 排除網路或防火牆問題
先看是否能ping通遠程伺服器,ping 192.168.1.211,如果不可以就是網路問題。然後,檢查連接埠是否被防火牆擋住了,telnet 192.168.1.211 3306,如果串連失敗,配置防火牆。

配置防火牆,開啟3306連接埠
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允許3306連接埠通過防火牆)
/etc/init.d/iptables restart(重啟防火牆使配置生效)

2. 檢查MySQL配置
如果開啟了防火牆,telnet還是失敗,通過netstat查看3306的連接埠狀態:
netstat -apn|grep 3306
tcp6    0    0 127.0.0.1:3306    :::*    LISTEN        13524/mysqld

注意紅色的地方,這說明3306被綁定到了本地。檢查一下my.cnf的配置,這裡可以配置綁定ip地址。
bind-address=addr
不配置或者IP配置為0.0.0.0,表示監聽所有用戶端串連。

ps:我開啟3306連接埠,並且檢查MySQL配置之後,telent仍然失敗,但是在本機telnet是ok的,再三確認了配置沒有問題。後來跟我們的ucloud帳號管理員提了一下,才知道ucloud管理後台也需要開啟3306連接埠,用雲端服務器的留意這個。

3. 檢查使用者存取權限
MySQL建使用者的時候會指定一個host,預設是127.0.0.1/localhost,那麼這個使用者就只能本機訪問, 其它機器用這個使用者帳號訪問會提示沒有許可權,host改為%,表示允許所有機器訪問。
#mysql -u root -p
mysql> use mysql;
Database changed
mysql> update user set host=’%’ where user=’root’;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

mysql> select host,user from user;
+———–+———+
| host      | user |
+———–+———+
| 127.0.0.1 | root |
| %            | night |
+———–+———+
2 rows in set (0.00 sec)

最後,別忘了重啟mysql使配置生效。
# /etc/init.d/mysql restart

--------------------------------------分割線 --------------------------------------

Ubuntu 14.04下安裝MySQL

《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF

Ubuntu 14.04 LTS 安裝 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主從伺服器

Ubuntu 12.04 LTS 構建高可用分布式 MySQL 叢集

Ubuntu 12.04下原始碼安裝MySQL5.6以及Python-MySQLdb

Windows下忘記MySQL root密碼的解決方案 

--------------------------------------分割線 --------------------------------------

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.