如何允許外網可以連接mysql數據庫


1、首先檢查mysql所在服務器的防火牆,如果限制了外網對3306端口的連接,那么放開限制
Linux服務器中執行 
iptables -L   可以查看當前的防火牆規則
iptables -F   可以清空所有防火牆規則

 

2、確保mysql的監聽地址是0.0.0.0
監聽地址是0.0.0.0 ,表示該mysql允許所有IP地址進行連接,這是允許遠程連接的基礎
監聽地址是127.0.0.1,則代表該mysql只允許所在服務器本機連接,外網是無法連接的

怎么知道mysql的監聽地址是多少呢?
Linux服務器中執行如下命令可以查看:    netstat -nutlp|grep mysql 

 

3、添加遠程連接mysql的賬號
此步驟是必須要操作的,mysql本身的用戶只能在本機上連接數據庫,外網連接的話,需要先添加遠程用戶並授權。
在mysql命令行模式下,或者phpmyadmin中執行sql語句添加遠程連接用戶
> grant all on *.* to root@'%' identified by '123456';
> flush privileges;

 

命令解釋:
*.*          第一個*表示庫,第二個*表示表; *.*對全部數據庫的全部表授權,so.ok 表示只對so這個庫中的ok表授權
root        表示要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的
'%'          表示允許遠程連接的IP地址,%代表允許所有IP連接
               只允許某個IP遠程連接,可以寫成'123.123.123.123'
               只允許123.123.123.*這個網段遠程連接,可以寫成  '123.123.123.%'  '123456'  是設置授權用戶的連接密碼
flush privileges;  代表立即刷新權限表,使添加的用戶生效

上面三步都設置好了,就可以再次嘗試遠程連接mysql了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM