连接MySQL8.0时报 2059 错误

现在的第三方远程数据库管理可视化工具比较多,如:Navicat、SQLyog、MySQL workbench 等,但发现正确的账户信息连接时报 2059 错误,怎么了?这是因为 MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。

此问题有两种方法,一种是更新可视化工具的版本来解决此问题,另一种是将 MySQL 用户登录的加密规则修改为 mysql_native_password,第一种方法可能要等官方更新,这里采用第二种方法。

首先修改加密规则,比如这里将密码改成 123456

ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

完成后,刷新权限即可

FLUSH PRIVILEGES;
相关推荐:
当往数据库中插入语句时,连接池抛出了“com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'xxx' at row xxx”的异常。 从提示的信息表面上来看,说是什么数据对于列“xxx”过 …
可能很多人在MySQL 8.0中修改密码时遇到了很多问题,比如重置密码,还是用的旧的命令去修改密码,导致报错,因为 MySQL 5.7.6 以后废弃了 user 表中的 password 字段和 password() 方法,所以使用旧的方法 …
发现升级到MySQL 5.7后,这个错误开始发生在随机情况下产生,即便是没有在查询中提供一个日期。 这似乎是因为早期版本的MySQL支持的日期,例如0000-00-00 00:00:00(默认情况下),然而5.7.4引入了对NO_ZER …
这个东西的比较主要从以下两个方面来看, INSERT IGNORE 与 INSERT INTO 的区别就是 INSERT IGNORE 会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数 …
拿起手机扫一扫即可带走我!