CentOS下mysql遠端連線的失敗的解決方案

來源:互聯網
上載者:User

mysql遠端連線失敗的解決方案(CentOS版)
(1)先將mysql服務停掉
# /etc/init.d/mysqld stop
(2)查看mysql設定檔
# vi /etc/my.cnf
特別要留意其中的兩項:bind_address和skip_networking,bind_address一定不能為127.0.0.1,否則只能在本地串連,skip_networking一定不能出現,否則只接受unix socket而不能提供tcp socket服務,建議將bind_address和skip_networking直接都注釋掉。
(3)重啟mysql服務
# /etc/init.d/mysqld start
(4)對使用者授權,允許指定使用者遠端存取,最簡單的方式是將mysql庫中user表中的對應的使用者的host設定為%,亦即允許該使用者從任意ip遠端存取

# mysql -u root -ppassword    //進入mysql控制台
# mysql>use mysql;
# mysql>update user set host = '%' where user = 'root';    //這個命令執行錯誤時可略過
# mysql>flush privileges;
# mysql>select host, user from user; //檢查‘%’ 是否插入到資料庫中
#mysql>quit
(5)一般情況下此時就能滿足遠端存取的要求,但對於某些系統還需要檢查防火牆設定,和ip存取原則,以防系統對網路訪問的限制造成無法遠端存取mysql
對於CentOS系統而言,最好檢測iptables設定。具體步驟如下
  5.1 暫停iptables服務
    # service iptables stop
  5.2 查看iptables設定檔
    # vi /etc/sysconfig/iptables
  5.3  也許會看到如下內容
    :OUTPUT ACCEPT [1009120:257185920]
    -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
    #-A INPUT -s 118.144.89.18 -p tcp -m tcp --dport 3306 -j ACCEPT
    #-A INPUT -s 123.127.177.239 -p tcp -m tcp --dport 3306 -j ACCEPT
    建議直接開放3306連接埠,而不是僅限定某個ip才可以訪問3306
  5.4 重啟iptables服務
    # service iptables start

僅作記錄,以備不時只需。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.