关于本地电脑连接服务器msyql8的各种问题,连接时报错2003 2005 2059

小编今天尝试在本地去连接服务器上的mysql8数据库,结果各种坑,来分享一下

服务器:阿里云Linux7系统

连接时报错2003 2005 2059

报错2003和2005,问题描述:本地客户端及代码连接均失败 1.查看端口号是否为 3306

show global variables like 'port';  # 查看MySQL运行的实际端口

2.给用户 root 修改权限

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'adminpwd' WITH GRANT OPTION; 
  Query OK, 0 rows affected, 1 warning (0.00 sec)

  mysql> FLUSH PRIVILEGES;
  Query OK, 0 rows affected (0.00 sec)

3.查看防火墙的状态

systemctl start firewalld # 开启防火墙
systemctl stop firewalld  # 关闭防火墙
systemctl status firewalld  #检查防火墙状态

如果你觉得关闭防火墙不安全,可打开远端服务器的iptables(安装或升级命令“yum install iptables”)(我用root用户登录的),并用“vi /etc/sysconfig/iptables”检查3306端口是否打开,如没有,在文件中加入“-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT”(如下所示),保存文件并用“service iptables restart”命令重启iptables

查看my.cnf(路径:/etc/mysql下) 或者 mysqld.cnf(/etc/mysql/mysql.conf.d下)文件
我在网上看到的好多都是修改my.cnf,加#注释掉bind-address = 127.0.0.1 如下: #bind-address = 127.0.0.1 .
但我的my.cnf下没有找到该字段.

5.在阿里云控制台将3306端口开启
在这里插入图片描述

**报错2059,问题描述:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 现在说第二种方式

解决方法:

ALTER  USER  'root'  IDENTIFIED  WITH  mysql_native_password  BY  '密码'; 

最后强烈建议,不要用SQLyog啦,那个东西太坑啦
Naviact 12 破解版,免费拿走
链接:https://pan.baidu.com/s/14SiEU7SxNVK1cSZtsbf4gA
提取码:3k6d

发布了71 篇原创文章 · 获赞 14 · 访问量 5613

猜你喜欢

转载自blog.csdn.net/flying_hengfei/article/details/102889353