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

2. 切換到 mysql DB;
mysql> USE mysql;
查看現(xiàn)有用戶,密碼及允許連接的主機(jī);
mysql> select User, Password, Host from user;
+------+----------------+-----------+
| User | Password | Host |
+------+----------------+-----------+
| root | | localhost |
+------+----------------+-----------+
1 row in set (0.00 sec)
說明:只有一個(gè)默認(rèn)的 root 用戶, 密碼為空, 只允許 localhost 連接。
3. 下面我們另外添加一個(gè)新的 root 用戶, 密碼為空, 只允許 192.168.1.100 連接;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY '' WITH GRANT OPTION;
說明:“192.168.1.100”可以替換為@‘%’就可任意ip訪問,當(dāng)然我們也可以直接用 update 更新 root 用戶 Host, 但不推薦, SQL語句如下:
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;