mysql 開放端口 外網訪問
前提: 如果是雲服務器,請先把安全組件相應的開發
-
查看服務器的端口3306是否存在
netstat -an|grep 3306
-
查看mysql的配置文件,修改或者添加bind-address=0.0.0.0
[mysqld]
port=3306
bind-address=0.0.0.0 -
重啟mysql
service mysql restart
嘗試訪問,不成功的話繼續操作 -
數據庫設置修改
//登錄mysql
mysql -u root -p
//選擇mysql數據庫
use mysql;
//查看用戶表信息
select user,host from user;
//假定root用戶外網訪問,更新root用戶的host為%,上面如果存在不需要更新
update user set host='%' where user='root';
//授權處理
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root用戶的密碼' WITH GRANT OPTION;
flush privileges;
//重啟msql嘗試連接,如果不行的話,可能是防火牆的問題,繼續操作
-
防火牆設置 iptables為例
service iptable status //查看防火牆狀態
iptables -L -n --line-number |grep 3306 //--line-number可以顯示規則序號,在刪除的時候比較方便
//iptables -D INPUT 3 //刪除input的第3條規則
//不存在3306的端口的話,開放3306
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
再次查看3306端口.此時應該可以看到
iptables -L -n
service iptables save //保存規則
service iptables restart //重啟
-
參考下網上別的文章