(三)設置mysql允許外部IP連接的解決方法及遇到的坑說明


用命令查詢端口情況:netstat -an | grep LISTEN

 

發現mysql用到3306這個端口,只能被127.0.0.1訪問(0.0.0.0的就是每個IP都有的服務,寫明哪個IP的就是綁定那個IP的服務)

網上查了一下默認情況下mysql只允許本地進入設置,如果需要外部IP連接到mysql,需要向mysql數據庫里的“user”表里添加相關授權。 

具體步驟: 

1.授權(此處是對root用戶授權mysql所有數據庫)

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpwd' WITH GRANT OPTION; 

如果針對某個特定的用戶test授權某個指定的數據testdb用下面例子中的命令

mysql>GRANT ALL PRIVILEGES ON `testdb`.* TO 'test'@%' IDENTIFIED BY 'newpwd' WITH GRANT OPTION; 

2.刷新權限使其生效

mysql>flush privileges; 

之后去到user表查詢已經有相關結果

 

3.去修改mysql配置文件。編輯my.cnf文件,注釋掉bind-address           = 127.0.0.1

 

去查找my.cnf的時候發現在/etc/my.cnf 有,打開文件里面沒有“bind-address           = 127.0.0.1”這一行,這時發現這個文件是之前卸載的時候沒有刪除干凈的。那么my.cnf究竟在哪里呢?

可以查看mysql的配置文件啟動列表

mysqld --help --verbose | less

 

按着這個順序,我在/usr/local/etc/my.cof 找到了,注釋掉bind-address           = 127.0.0.1 即可


4.重啟mysql。

重啟之后再檢查一下mysql是否對外開放端口

netstat -an|grep 3306

 

 

搞定!!


免責聲明!

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



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