远程连接mysql,3306的坑

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 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章