原文:https://blog.csdn.net/hohaizx/article/details/78370333
1耐版、修改MySQL監(jiān)聽IP
默認(rèn)情況下MySQL監(jiān)聽的是127.0.0.1磷仰,也就是本機(jī),所以只有本機(jī)能夠連接上舅世,因此需要將MySQL改成監(jiān)聽遠(yuǎn)程主機(jī)IP或者所有IP。
以Ubuntu為例螺垢,打開修改以下文件:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
1
找到bind-address尖昏,如果監(jiān)聽固定遠(yuǎn)程IP,則改成遠(yuǎn)程主機(jī)IP聚凹,若監(jiān)聽所有IP割坠,則改成0.0.0.0或者注釋bind-address。修改完成后重啟MySQL
service mysql restart
1
再次查看MySQL監(jiān)聽地址
netstat -ano | grep 3306
1
這時(shí)MySQL正在監(jiān)聽所有地址妒牙。
2彼哼、賦予賬號遠(yuǎn)程登錄權(quán)限
MySQL默認(rèn)情況下只允許用戶本地登錄,所有需要賦予用戶遠(yuǎn)程登錄的權(quán)限湘今。進(jìn)去MySQL敢朱,
mysql> grant all privileges on . to '用戶'@'ip' identified by '密碼' with grant option;
mysql> flush privileges;
1
2
第一句語句語句中,.代表所有庫表,若想給予所有IP權(quán)限拴签,”ip”寫成“%”,所以第一句sql的意思是給予來自所有IP地址的通過“用戶”奕短,“密碼”登錄的用戶對所有庫表的所有操作權(quán)限睛蛛。
第二句sql,刷新權(quán)限。
然后同樣重啟MySQL生效酿炸。
3、檢查防火墻
服務(wù)器是否開啟了防火墻菩收,防火墻是否允許3306端口連接拨齐。可以通過telnet測試
telnet ip port
1
測試失敗盛嘿,說明防火墻不允許連接3306端口洛巢。根據(jù)不同操作系統(tǒng),不同防火墻次兆,配置防火墻允許3306連接稿茉。
一般情況下經(jīng)過以上步驟,就能確保連接成功芥炭,但本人不幸千萬次嘗試都不能成功[抓狂]漓库。想到阿里云是不是有更嚴(yán)格的安全策略,登錄云服務(wù)器控制臺->安全組->配置規(guī)則园蝠。默認(rèn)情況下渺蒿,入方向阿里云只允許訪問3389,22彪薛,-1端口茂装,所以添加3306,果然成功善延。