程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> linux配置mysql數據庫遠程連接失敗的解決方法

linux配置mysql數據庫遠程連接失敗的解決方法

編輯:MySQL綜合教程

linux配置mysql數據庫遠程連接失敗的解決方法。本站提示廣大學習愛好者:(linux配置mysql數據庫遠程連接失敗的解決方法)文章只能為提供參考,不一定能成為您想要的結果。以下是linux配置mysql數據庫遠程連接失敗的解決方法正文


linux配置mysql數據庫遠程連接失敗的解決方法

投稿:lijiao

這篇文章主要為大家詳細介紹了linux配置mysql數據庫遠程連接失敗的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

今天配置Linux下MySQL數據庫可以遠程訪問的問題,百度這方面的資料有很多,但是方法都一樣,都試過了卻未能解決,記錄一下 

第一步:在/etc/mysql/my.cnf下找到bind-address = 127.0.0.1

在這行前加個"#"進行注釋,或者改為: bind-address = 0.0.0.0 

允許任意IP訪問;或者指定自己需要遠程訪問的IP地址。 

然後重啟mysql:sudo /etc/init.d/mysql restart 

第二步:授權用戶能進行遠程連接

grant all privileges on *.* to root@"%" identified by "password" with grant option;
 flush privileges;

第一行命令解釋如下,*.*:第一個*代表數據庫名;第二個*代表表名。這裡的意思是所有數據庫裡的所有表都授權給用戶,如果只是授權某數據庫或數據庫下某張表,則把*替換成你所需的數據庫名和表明即可。root:授予root賬號。“%”:表示授權的用戶IP可以指定,這裡代表任意的IP地址都能訪問MySQL數據庫。“password”:分配賬號對應的密碼,這裡密碼自己替換成你的 root帳號密碼 

第二行命令是刷新權限信息,讓我們設置的權限馬上生效。

但是最終還是不能訪問,此時考慮有可能是防火牆及mysql的3306端口問題. 

通過命令netstar -a查詢所有端口沒看到3306,通過命令nerstat -an|grep 3306,什麼都不顯示,可以確定是3306端口不存在。 

登錄阿裡雲控制台,在雲服務安全組新增規則,克隆一個規則出來並把端口號修改成mysql的3306,再次遠程連接還是失敗。

 

此時需控制台重啟系統讓新增的規則生效,重啟後再次連接依然失敗,此時本地的navicat軟件連接返回的是拒絕訪問錯誤而不再是之前的無法連接錯誤。 

此時再次執行上方的第二步授權用戶命令,重啟apache mysql之後終於連接成功。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved