MySql出于安全方面考慮只允許本機(jī)(localhost, 127.0.0.1)來(lái)連接訪(fǎng)問(wèn),這對(duì)于 站點(diǎn)和數(shù)據(jù)庫(kù)都在同一臺(tái)服務(wù)器上的網(wǎng)站架構(gòu)來(lái)說(shuō)是沒(méi)有問(wèn)題的。但隨著網(wǎng)站流量的增加,后期服務(wù)器架構(gòu)可能會(huì)將網(wǎng)站和數(shù)據(jù)庫(kù)在獨(dú)立的服務(wù)器上,以便得到更大性能的提升,此時(shí)mysql數(shù)據(jù)庫(kù)就需要允許遠(yuǎn)程連接。好處還有不用每次都登到服務(wù)器去添加修改表,只要用圖形化界面即可遠(yuǎn)程管理。
Mysql開(kāi)啟遠(yuǎn)程訪(fǎng)問(wèn)的方法如下:
1. 登錄mysql數(shù)據(jù)庫(kù)服務(wù)器,連接本地 mysql;

2. 切換到 mysql DB;
mysql> USE mysql;
查看現(xiàn)有用戶(hù),密碼及允許連接的主機(jī);
mysql> select User, Password, Host from user;
+------+----------------+-----------+
| User | Password | Host |
+------+----------------+-----------+
| root | | localhost |
+------+----------------+-----------+
1 row in set (0.00 sec)
說(shuō)明:只有一個(gè)默認(rèn)的 root 用戶(hù), 密碼為空, 只允許 localhost 連接。
3. 下面我們另外添加一個(gè)新的 root 用戶(hù), 密碼為空, 只允許 192.168.1.100 連接;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY '' WITH GRANT OPTION;
說(shuō)明:“192.168.1.100”可以替換為@‘%’就可任意ip訪(fǎng)問(wèn),當(dāng)然我們也可以直接用 update 更新 root 用戶(hù) Host, 但不推薦, SQL語(yǔ)句如下:
mysql> -- update user SET Host='192.168.1.100' where User='root' AND Host='localhost' LIMIT 1;
4. 操作完畢之后記得刷新MySQL的系統(tǒng)權(quán)限相關(guān)表:
mysql> flush privileges;