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之後終於連接成功。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。