虚拟机CentOS7 安装MySQL8过程当中遇到的问题

虚拟机CentOS7 安装MySQL8.0过程当中遇到的问题

链接MySQL数据库时提示2003-can t connect to MySQL server on ip(10060)

文章是为了记录本身在学习过程当中遇到的各类问题,参考了其余网友的博客或者百科,若有侵权或者不妥之处,随时联系我删除或修改。mysql

我用我本地的Navicat链接虚拟机时候提示如上,ping了一下虚拟机地址,发现是能够ping通的,可是数据库是链接不上的。web

检查步骤:

  • MySQL是否启动。登上虚拟机检查是否能进入MySQL数据库,能进入证实没问题。sql

  • 查看MySQL对应端口在防火墙里是否开启。数据库

    进入MySQL查看MySQL对应端口,默认是3306。tcp

    show global variables like 'port';

    查看端口结果

    查看3306端口在Linux防火墙端口是否开放svg

    firewall-cmd --zone=public --query-port=3306/tcp

在这里插入图片描述

若是端口是关闭状态,打开它就能够了。学习

firewall-cmd --zone=public --add-port=3306/tcp --permanent // 永久

在这里插入图片描述

此时我再用Navicat链接数据结果仍是没有成功,不过报错信息发生变化了,说明仍是有用的。this

关于firewall的命令你们能够参考简书上面的一篇介绍文章 https://www.jianshu.com/p/411274f96492spa

Host is not allowed to connect to this MySQL server

首先说这个错误是由于MySQL自己是不容许远程登陆的,须要需改mysql实例下的user表,把host字段的localhost改为%就能够了。code

use mysql; // 切换实例
update user set host = '%' where user = 'root'; //修改字段
FLUSH PRIVILEGES; //重要,刷新权限表,不刷新可能不起做用

而后用Navicat链接就能够了,这是我链接过程当中发生的问题,我的记录用。