【推荐】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!!!
来源:oschina
链接:https://my.oschina.net/u/3627873/blog/3147683