远程连接云服务器数据库mysql8报错解决方法

时间:2024-03-28 16:34:13

环境是:华为云 centos8,mysql8.0版本

您的电脑软件例如workbench或navicat无法远程连接服务器中的数据库无非以下几种问题:

1.您的防火墙是否打开:

          1.检查防火墙状态:systemctl status firewalld

             如果是开着的应该是:

远程连接云服务器数据库mysql8报错解决方法

       2.如果没有开防火墙active应为dead状态,这时应先启动防火墙:systemctl start fierwalld

       3.查看目前防火墙开放端口:firewall-cmd --list-ports

       4.增加开放端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent

          success

       5.重新加载防火墙:firewalld-cmd  --reload  或 systemctl start firewalld.service   (莫忘)

          success

       6.验证:firewall-cmd --list-ports  

远程连接云服务器数据库mysql8报错解决方法

2.mysql数据库中您的账号没有开放远程登陆的权限

     解决办法:1 登陆Mysql

                        mysql -uroot -p

                        输入密码

                        2 选择 mysql 数据库

                         use mysql;

                       3 在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

                          select host, user from user;

远程连接云服务器数据库mysql8报错解决方法

                       可以看到root用户的host默认为localhost,只允许本地访问,不允许远程连接..

                       对此您可以使用两种方法:

                   (1)设置新的账户并支持远程登录,语句为:GRANT ALL PRIVILEGES ON *.* TO 'yibu'@'%'

                   (2)直接将root账户改为可远程登陆状态,语句为:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'

                            或:mysql>update user set host="%" where user="root";

                           完成之后:mysql> FLUSH PRIVILEGES;  #更新     (重要)

                                             mysql> exit    #退出

                      在重新启动一下软件

3.您云服务器上的安全组端口问题:

  如图所示:您先查看一下新的安全组上端口3306是否打开

远程连接云服务器数据库mysql8报错解决方法

  添加的步骤也是非常简单 您打开后非常容易操作

  解决办法,直接添加端口就好

远程连接云服务器数据库mysql8报错解决方法谢谢!