1. 设置mysql中的root被访问的权限
show databases;
use mysql;
select user,host from user;
修改root可以被访问的权限
update user set host ='%' where user ='root';
flush privileges;
select user,host from user;
2. 修改云服务器安全组规则,开启3306端口,这个比较容易,不在赘述
3. 修改MySQL配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address 那一行,初始值被赋为 127.0.0.1,代表只在本机可用,将其改为 0.0.0.0,代表全IP可用。
完成之后重启MySQL服务,命令为:
sudo service mysql restart
4. 修改防火墙设置
-
查看防火墙状态。
sudo firewall-cmd --state #查看防火墙状态。
得到结果是running或者not running如果没开启
systemctl start firewalld
-
在running 状态下,向firewall 添加需要开放的端口
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp #永久的添 加该端口。去掉–permanent则表示临时。
与之对应关闭的命令为firewall-cmd --zone=public --remove-port=3306/tcp --permanent
-
加载配置,使得修改有效。
sudo firewall-cmd --reload
使用命令 查看开启的端口,出现3306/tcp这开启正确
sudo firewall-cmd --permanent --zone=public --list-ports
别忘了关键一步 再次启动防火墙sudo systemctl start firewalld.service
再查看端口8080就开放了