最近部署mysql5.6,發現默認mysql只允許本地提供服務,如果要允許外網訪問需要進行若干配置,如下所示。
一、設置MySQL服務允許外網訪問
修改mysql的配置文件,有的是my.ini(windows),有的是my.cnf(linux),
在配置文件中增加
[mysqld]
port=3306
bind-address=0.0.0.0
然後重新啓動mysql服務,執行service mysql restart。
二、設置mysql用戶支持外網訪問
需要使用root權限登錄mysql,更新mysql.user表,設置指定用戶的Host字段爲%,默認一般爲127.0.0.1或者localhost。
1.登錄數據庫
mysql -u root -p 輸入密碼
mysql> use mysql;
2.查詢host
mysql> select user,host from user;
3.創建host
如果沒有"%"這個host值,就執行下面這兩句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
4.授權用戶
(1)任意主機以用戶root和密碼mypwd連接到mysql服務器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
(2)IP爲192.168.133.128的主機以用戶myuser和密碼mypwd連接到mysql服務器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.133.128' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
【host字段說明】
% 允許從任何ip登錄
x.x.x.x 允許從指定ip訪問