在远程服务器上,数据库有时候是需要进行远程访问的,但默认Mysql没开启授权远程访问,相关的端口在服务器上可能也没有开放,所以,要进行远程访问就要解决这些问题
一、开启Mysql的远程访问授权
我建议是用的直接授权法(对于root账户)
1.登陆Mysql
1 | [root@localhost software]> mysql -u root -proot |
2.输入相关指令
1 | mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; |
[FLUSH PRIVILEGES]是刷新用户权限信息的指令
二、开启服务器的3306端口(我这是CentOS系统的示例)
CentOS默认使用了firewall作为防火墙,为了方便,我们改成iptables防火墙
1、关闭firewall:
1 | systemctl stop firewalld.service |
2、安装iptables防火墙
1 | yum install iptables-services -y |
3.启动设置防火墙
1 | > systemctl enable iptables |
4.查看防火墙状态
1 | systemctl status iptables |
5.开放443端口(HTTPS)
1 | iptables -A INPUT -p tcp --dport 3306 -j ACCEPT |
6.保存上述规则
1 | service iptables save |
7.重启,和开机启动1
2systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
上述文字所参考的来源:
https://blog.csdn.net/zhldt2008/article/details/52626892
https://blog.csdn.net/zdb1314/article/details/78469016