记一个云服务器上的mysql不能远程连接的问题

事情是这样的,我在云服务器上面安装了mysql8.0,但是使用navicat远程无论如何就是连接不上.

环境contos7

下面是对这个问题的处理:

1.首先在linux上确定自己能否连接

使用以下命令

mysql -uroot -p123456

结果:服务器上的mysql可用

2.然后想到的是,是否开通3306端口

使用一下命令开启防火墙的3306端口

firewall-cmd --add-port=3306/tcp

结果:依然远程连接不上

3.查看数据库是否具有远程连接的权限(按照以下步骤进行)

进入数据库

mysql -uroot -p123456

查看数据库

showdatabases;

记一个云服务器上的mysql不能远程连接的问题

使用mysql数据库

use mysql

记一个云服务器上的mysql不能远程连接的问题

查询user表数据

select user,host from user;

记一个云服务器上的mysql不能远程连接的问题

root用户的host初始值为localhost,这里需要改成%,这里我已经改过了,%表示所有的ip都可以访问

结果:依然远程连接不上

4.授权root用户权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

记一个云服务器上的mysql不能远程连接的问题

授权之后需要刷新

flush privileges;

记一个云服务器上的mysql不能远程连接的问题

结果:依然远程连接不上

5.此时网上的解决办法都已经用尽,无奈最后求助大神

最终解决!

解决方法:云服务的3306端口在服务器中开启并没有用,需要在你的云服务器控制太开启3306端口

我这边用的是七牛云服务器,按照下图在你的服务器的安全组中新建个3306端口的权限即可

记一个云服务器上的mysql不能远程连接的问题