Django2.2连接MySQL报错Authentication plugin 'caching_sha2_password' cannot be loaded

之前在升级网站的时候,runserver遇到了Authentication plugin ‘caching_sha2_password‘ cannot be loaded的报错。百度过后知道是因为MySQL8采用了caching_sha2_password的加密方式,需要改回旧的mysql_native_password,在此附上修改方法:

mysql -u root -p password

>ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER;   #修改加密规则

>ALTER USER ‘root‘@‘localhost‘ IDENTIFIED WITH mysql_native_password BY ‘password‘;   #更新一下用户

>FLUSH PRIVILEGES;  #刷新权限

然后切记要及时重置密码,不然旧密码会失效,退出后就进不去了!!!(被坑过的??‍♂???,重置密码搞了半天)

>ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘12345678‘;

Django2.2连接MySQL报错Authentication plugin 'caching_sha2_password' cannot be loaded

原文地址:https://www.cnblogs.com/boirn/p/11745179.html

时间: 2024-10-10 12:35:19

Django2.2连接MySQL报错Authentication plugin 'caching_sha2_password' cannot be loaded的相关文章

Navicat Premium 连接MySQL数据库出现Authentication plugin 'caching_sha2_password' cannot be loaded的解决方案

1.运行cmd,目录定位到MySql的安装目录“C:\Program Files\MySQL\MySQL Server 8.0\bin” 2.运行mysql 3.运行如下的两个命令 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

Navicat 连接mysql 报错: Authentication plugin caching_ sha2_password cannot be loaded

出现这个错误的时候, 网上的资料都是修改mysql的登录信息的, ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES; 但我的试了好久都没有效果, 不知道是不是我通过docker安装mysql的缘故, 或者是mysql版本的缘故. 通过这个语句, select host, user, plugin from user; 我发现我的多了一个host为%的,

qt连接mysql报错:QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7

之前使用Qt连接mysql数据库,遇到过这样的报错,后来解决了,但没有记录下来,这次又遇到了,花了好多的精力,这次吸取上次的教训,做一下记录和总结. 报错截图: 编辑背景: Qt5.13.0,编译器是mingw73_64,是64位的. mysql-5.7.27-winx64,也是64位的. 有人说,qt的编译器的位数要和数据库的位数是一致的,我没试过不同位数行不行,反正我的都是64位的. 问题: 使用<QSqlDatabase>库进行mysql的连接操作,出现下面的报错信息,当然别忘了在.pr

Authentication plugin &#39;caching_sha2_password&#39; cannot be loaded错误处理

使用Navicat建立新连接时,遇到Authentication plugin 'caching_sha2_password' cannot be loaded错误: 解决方法如下: 打开mysql: 输入命令: ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;   #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_nat

连接mysql报错:error 2003 (hy000):can&#39;t connect to mysql server on &#39;localhost&#39; (10061)

一.mysql 的bin目录下有个MySQLInstanceConfig.exe,运行就可以进行创建数据库实例,创建实例时也可以生成windows 服务,把服务设置成自动启动就可以了 二.安装在D盘的discuzz!打开后出现上述错误,请问应如何处理?winmysqladmin已经启动,但三色树上有一个小红点如果出现"ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)",说明你的MySQL还没有启动.解决办法

PHP连接MySQL报错:SQLSTATE[HY000] [2002] Can&#39;t connect to local MySQL server through socket &#39;MySQL&#39; (2)

如下所示,PHP连接MySQL报错: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' (2) 测试代码如下: <?php try { $dsn = 'mysql:dbname=php-note;host=localhost;port=3306;charset=utf8'; $username = 'root'; $password = 'root'; new PDO( $dsn,

jdbc连接mysql报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column &#39;&#233;?‘&#229;?‰&#230;—&#173;&#39; in &#39;field list&#39;

解决了中文显示乱码问题之后,又出现了这么一个问题, 思考一下,这绝对是输入文本的问题. 试了一下,果然不出所料. 再次怀疑编码,没有办法, 只有很无奈地去百度了,结果是与编码没有问题啊. sql.execute("insert into reader values('"+rn+"','"+pid+"','"+tele+"','"+kno+"')"); 原来报错是因为我没写单引号,mysql当然不认识啊.OK

1130 - Host&#39;xxx.xxx.xxx.xxx&#39; is not allowed to connect to this MySQL server解决Navicat连接MySQL报错

最近使用Navicat for MySQl访问远程mysql数据库,出现报错,显示"1130 - Host'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server".解决办法如下: 方法/步骤 首先看报错窗口. 经查阅,错误原因是:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限. 于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访问权限. 首先远程连接进入服务器,在

连接mysql报错Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: YES)解决办法

1.打开MySQL目录下的my.ini文件,在文件的最后添加一行"skip-grant-tables"(免密码登录),保存并关闭文件,重启MySQL服务. 2.通过命令行进入MySQL的BIN目录,输入"mysql -u root -p"(不输入密码),回车即可进入数据库. 3.执行"use mysql;",使用mysql数据库. 4.修改密码:执行" update MySQL.user set authentication_strin