外网如何访问内网Mysql数据库?
Mysql数据库服务器部署在内网环境,局域网内可以访问mysql数据库,内网也可以上外网。如何实现外网访问内网Mysql数据库?
1、查看服务器的端口3306是否存在
netstat -an|grep 3306
2、查看mysql的配置文件,修改或者添加bind-address=0.0.0.0
[mysqld]
port=3306
bind-address=0.0.0.0
3、重启mysql service mysql restart 尝试访问,不成功的话继续操作
4、数据库设置修改
//登录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尝试连接,如果不行的话,可能是防火墙的问题,继续操作
5、防火墙设置 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 //重启
(免责声明:图文来自网络,若有侵权,请联系秃头程序员后台删除)
推荐阅读
秃头程序员
秃头程序员
我知道你在看哟