LINUX 上的MySQL无法被远程访问

准备工作

⒈本文使用的linux系统是centos8
⒉本文使用的是MySQL 8.0
3 本文使用的工具是Navicat

连接MySQL服务器

在上文中,我们直接在linux上直接使用MySQL是可以的,我们的linux系统是开着的,MySQL也是已启动的状态,然后我们再Windows 10 中使用Navicat连接MySQL,发现就是连接不上
LINUX入门之五远程访问mysql

开启MySQL的远程连接

执行 mysql -uroot -p 命令登录mysql
执行 use mysql; 命令使用mysql数据库
执行 select host,user,authentication_string from user; 命令查看用户信息
LINUX入门之五远程访问mysql
我们可以看到root用户的host是localhost,表示只允许主机访问,我们将localhost设为%
执行 update user set host=’%’ where user=‘root’; 命令更改root用户的host
LINUX入门之五远程访问mysql
执行 flush privileges; 命令,使mysql不用重启可以生效
LINUX入门之五远程访问mysql

设置远程连接的权限

执行 grant all privileges on . to ‘root’@’%’; 命令修改远程连接用户的加密规则
MySQL 8已经不支持 grant all privileges on . to ‘root’@’%’ identified by ‘密码’ with grant option; 这种写法了
LINUX入门之五远程访问mysql
温馨提示:
如果你linux里 /etc/my.cnf 文件里面加入skip-grant-tables,一定要删除,否则设置远程权限的时候会失败

更改linux防火墙,开放3306端口

执行 firewall-cmd --zone=public --add-port=3306/tcp --permanent 命令,添加一个3306永久接口到公共区域
执行 systemctl restart firewalld 命令重启防火墙
执行 firewall-cmd --list-ports 命令查看已经开放的端口
LINUX入门之五远程访问mysql

验证

再使用Navicat连接MySQL,如下图所示表示mysql远程开启成功
LINUX入门之五远程访问mysql
CentOS 8防火墙命令汇总: http://tuoa.net/122.html
CentOS 8安装MySQL 8: https://blog.csdn.net/sinat_37471241/article/details/106101087

相关文章:

  • 2021-11-23
  • 2022-03-09
  • 2022-12-23
  • 2021-04-04
  • 2022-01-25
  • 2022-01-04
猜你喜欢
  • 2022-01-18
  • 2022-03-05
  • 2022-02-17
  • 2022-12-23
  • 2022-12-23
  • 2021-12-19
  • 2021-12-19
相关资源
相似解决方案