用命令查詢端口情況: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
搞定!!