1、更改数据库user表的root账户的host权限
- 默认是locahost,所以只允许本地访问
- 解决方案:只要将 localhost 改成 % 就能允许所有外来访问
mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
exit;
2、防火墙没有开放3306端口
- 首先有两种防火墙(iptables、firewall),我使用的是firewall
// 查看防火墙是否开启
ps -ef|grep firewall
// 查看防火墙状态
firewall-cmd --state
// 查看是否有端口号
firewall-cmd --list-all
// 添加3306端口
firewall-cmd --permanent --add-port=3306/tcp
// 重启防火墙生效
service firewalld reload
- 以下补充firewall的一些知识点
// 安装firewall
yum install firewalld firewall-config
// 启动服务
systemctl start firewalld
// 查看状态
systemctl status firewalld
firewall-cmd --state
// 停止服务
systemctl stop firewalld
// 禁用firewall
systemctl mask firewalld
// 解除禁用
systemctl unmask firewalld
// 查看开放的服务
firewall-cmd --list-services
// 开放通过tcp访问3306
firewall-cmd --add-port=3306/tcp
// 阻止通过tcp访问3306
firewall-cmd --remove-port=3306/tcp
// 查看开放的端口
firewall-cmd --list-ports