关于Navicat连接mysql数据库报:2059

爷,独闯天下 提交于 2019-12-26 15:28:52

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

报错信息:

1、报错原因

新版mysql8.0登陆验证改变导致的。使用命令登陆是正常的,所以需要使用命令登陆mysql后,把验证登陆修改回navicat for mysql支持的方式

2、解决

可以通过mysql自带的命令行工具 进入mysql:

开始》所有程序》MySQL》MySQL server 8.0》MySQL 8.0 Command line Client - unicode

也可以直接cmd命令:mysql -u root -h127.0.0.0 -p    进入mysql  (注;127.0.0.1为本地,如果在其他机器需输入对应的ip)

 然后输入密码登录mysql

1) 选择数据库mysql

mysql> use mysql
Database changed
mysql> select user,host,plugin,authentication_string from user;


2 )更改加密方式

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.10 sec)


3) 更改密码

本地:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Query OK, 0 rows affected (0.35 sec)

非本地:

mysql>alter user 'root'@'%' identified with mysql_native_password by 'password';


4) 刷新权限

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

切记:执行命令sql语句时后面加分号


再次连接ok!!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!