数据库
首页 > 数据库> > Navicat 连接阿里云上MySQL报 2059 - authentication plugin ‘caching_sha2_password‘ .....

Navicat 连接阿里云上MySQL报 2059 - authentication plugin ‘caching_sha2_password‘ .....

作者:互联网

出现这个错误可能有两个原因

  一个就是字面意思:MySQL新版本(8以上版本)的用户登录账户加密方式是【caching_sha2_password】,Navicat不支持这种用户登录账户加密方式。

  另一个就比较难受了,有人攻击了你的数据库,然后把你的登入用户给删了

我就属于第二种。

区分这两种的可能就是

第一种可以直接转地方了:(146条消息) Navicat 连接阿里云上MySQL报 2059 - authentication plugin ‘caching_sha2_password‘ ....._powerfuler的博客-CSDN博客_mysql8密码加密     这个应该是可以的

第二种:

//登入的时候可能会登不进去因为他把用户删了  就需要先进数据库 
//首先关闭mysql
service mysqld stop

//查看mysql状态
service mysqld status

//设置使用命令跳过输入密码过程
mysqld --user=mysql --skip-grant-tables --skip-networking &

//另开一个窗口--登录mysql--不要输入密码,直接回车
mysql -uroot -p

//使用一下mysql数据库--指定数据库
use mysql;

//查看mysql数据库中user表,用户等于root的用户,如果没有就需要创建
select 'user' from user where user='root';


//创建root 用户  如果报错就 flush privileges; 再重新创建
create user 'root'@'%' identified by '123456';

//赋予root权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; #赋予所有库所有表操作权限
//如果报错可以 SET FOREIGN_KEY_CHECKS = 0; 执行这一行 赋予完后记得改为1
//刷新权限
flush privileges;
//退出这个窗口的mysql
exit;

//重启mysql
service mysqld restart

//查看mysql状态
service mysqld status

  被攻击后怎么恢复可以看:(146条消息) 为啥mysql老是被攻击_如何防止入侵:MySQL各种攻击方法大全_PHP教程_LaserComposites的博客-CSDN博客

 

标签:sha2,plugin,--,MySQL,mysqld,user,mysql,password,root
来源: https://www.cnblogs.com/qjwzs/p/16433510.html