【数据库学习】——纠错:mysql Authentication plugin ‘caching_sha2_password‘ is not supported

目录

1、环境介绍

2、问题描述

3、原因分析

4、 解决方案

1)方法一:直接改成mysql_native_password验证方式

2)方案二: 利用sql命令将验证机制修改

① 打开命令行窗口——cmd

② 登录mysql数据库

③ 查看不同用户名的身份验证方式select user,plugin from mysql.user;

 ④ 将caching_sha2_password修改为mysql_native_password验证方式

⑤ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 语句解释

3)方案三 :直接将mysql版本降低为8.0以下


1、环境介绍

Windows

Python3.9

MySQL8.0.29

2、问题描述

在利用Python创建数据池的时候,出现这个问题

代码为:

import mysql.connector.pooling# 定义连接需要的参数,用字典封存,私有参数
__config = {"host":"localhost","port":3306,"user":"root","password":"root","database":"studentTable"
}# 创建连接池,定义最大连接数
try:pool = mysql.connector.pooling.MySQLConnectionPool(**__config,pool_size=10)
except Exception as e:print("创建连接池出现异常:",e)

 

3、原因分析

 使用客户端链接mysql数据库,如果数据库版本高于8.0,可能出现以上问题,因为8.0以前默认使用mysql_native_password身份验证机制,8.0以后默认使用caching_sha2_password方式,因此需要将其改成mysql_native_password验证机制

4、 解决方案

1)方法一:直接改成mysql_native_password验证方式

【数据库bug修复】——Authentication plugin ‘caching_sha2_password‘ is not supported_有情怀的机械男的博客-CSDN博客目录原因连接数据库的时候出现这个问题的解决方法创建数据库连接池时解决方法原因使用客户端链接mysql数据库,如果数据库版本高于8.0,可能出现以上问题,因为8.0以前默认使用mysql_native_password身份验证机制,8.0以后使用caching_sha2_password方式连接数据库的时候出现这个问题的解决方法conn = mysql.connector.connect(host = "localhost", user = "root", pashttps://blog.csdn.net/qq_45769063/article/details/121986314

在参数设置的后面添加这行,修改验证机制  

 "auth_plugin": 'mysql_native_password'

import mysql.connector.pooling# 定义连接需要的参数,用字典封存,私有参数
__config = {"host":"localhost","port":3306,"user":"root","password":"root","database":"studentTable","auth_plugin": 'mysql_native_password'
}# 创建连接池,定义最大连接数
try:pool = mysql.connector.pooling.MySQLConnectionPool(**__config,pool_size=10)
except Exception as e:print("创建连接池出现异常:",e)

注:这个方案之前是可行的,但是这次没有解决,于是有了方案二

2)方案二: 利用sql命令将验证机制修改

mysql错误:this authentication plugin is not supported_阿冬哥的博客-CSDN博客this authentication plugin is not supported应用程序连接mysql docker一直报错:this authentication plugin is not supported。 google发现,原来是mysql新版本(8.0以上)将root用户使用的plugin更新成caching_sha2_password。 登录mysql输入如下命令可以看...https://blog.csdn.net/c359719435/article/details/80432508【纠错】——mysql Authentication plugin ‘caching_sha2_password‘ is not supported问题处理_有情怀的机械男的博客-CSDN博客mysql Authentication plugin ‘caching_sha2_password’ is not supported问题处理使用mysql8.0版本,登录失败,提示 Authentication plugin ‘caching_sha2_password’ is not supported。原因是在MySQL 8.0以后,默认的密码加密方式是caching_sha2_password而不是mysql_native_password。解决方法:1.登录mysql数据库 myshttps://blog.csdn.net/qq_45769063/article/details/122322667

① 打开命令行窗口——cmd

② 登录mysql数据库

mysql -uroot -p

 

③ 查看不同用户名的身份验证方式select user,plugin from mysql.user;

select user,plugin from mysql.user;

可以看到数据库有5个用户名(user),因为我们创建数据池的时候用的是root用户名,所以我们看一下root用户名的身份验证方式(plugin),root有两个用户名,且有一个验证方式是caching_sha2_password,因此我们需要修改它

 

 ④ 将caching_sha2_password修改为mysql_native_password验证方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

 

再运行select user,plugin from mysql.user;查看不同用户名的身份验证方式,如下图所示,可以发现两个root用户名的验证方式都已经修改成为mysql_native_password了。

 

⑤ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 语句解释

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

这行代码有两层含义,第一:修改root的密码为’root’,摒弃原来的旧密码。第二:使用mysql_native_password对新密码进行编码。

注:利用这种方式解决了我的问题 

3)方案三 :直接将mysql版本降低为8.0以下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255343.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xcode中用pods管理第三方库转

安装pods :http://www.cnblogs.com/wangluochong/p/5567082.html 史上最详细的CocoaPods安装教程 --------------------------------------------- 第一步:Cmmand+空格,搜索"终端",使用cd命令进入到我们项目…

Val编程-界面编程

由于示教盒是一个黑白的分辨率为(14*40)的液晶屏,用户交互不是很好,界面不友好。而且没有鼠标导航与触摸屏。 界面编程函数 1.void cls() 2.void title(string sText) 3.void put(string sText), void put(num nValue) 4.void put…

【机器学习笔记四】分类算法 - 逻辑回归

参考资料 【1】 Spark MLlib 机器学习实践 【2】 统计学习方法 1、Logistic分布 设X是连续随机变量,X服从Logistic分布是指X具有下列分布函数和密度函数 ,。其中u为位置参数,γ为形状参数。如下图: 分布函数以(u,1/2)为中心…

FPFH+ICP点云配准

A, UniformSampling降噪B, ISS计算关键点, FPFH特征在FeatureCloud::setInputCloud中读入点云,并调用processInput进行处理:processInput处理包括: 1, computeSurfaceNormals () 使用NormalEstimation计算得到表面法向量2, computeLocalFeatures () FPFHEstimationKdTreeIS…

【python 学习】——pycharm终端解释器和Python解释器配置

目录 1、pycharm终端运行的时候前面带有PS,是什么意思,怎么变成cmd? 1)File——settings 2)tools——terminal——shellPath 2、pycharm怎么切换不同的Python解释器? 1)File——settings 2&#xff09…

在linux下实现mysql自动备份数据

使用的系统为CentOS,mysql版本为5.6 备份功能主要利用以下功能实现: mysql命令中的mysqldump命令 linux下脚本编写 linux下crontab定时任务的使用 首先确定你要存放脚本的目录和存放备份数据的目录 首先进行以下修改(因为在命令行或者脚本中写…

面向未来编程

我们一直以来都知道面向对象编程,面向过程编程。大多数时候还是面向工资编程,面向生活编程。面向任务编程,面向公司编程,面向领导编程。 工资不给力,心里认为委屈;生活有压力。影响工作情绪。任务完毕就好…

Plotclock

调试程序,运行调试程序,舵机会移动两只悬臂分别停留在一只水平另一只垂直的位置上。如果差距非常大,可拆下悬臂调节,如果比较接近了,就修改程序第3~6行的四个参数 SERVOFAKTORLEFT 左悬臂垂直位置,SERVOFAK…

js性能优化--学习笔记

《高性能网站建设进阶指南》: 1.使用局部变量,避免深入作用域查找,局部变量是读写速度最快的;把函数中使用次数超过一次的对象属性和数组存储为局部变量是一个好方法;比如for循环中的.length通常可以保存为局部变量。 …

struct和typedef struct在C与C++中用法

struct和typedef struct 分三块来讲述:   1 首先://注意在C和C里不同     在C中定义一个结构体类型要用typedef:     typedef struct Student    {    int a;    }Stu;     于是在声明变量的时候就可:Stu stu1;(如…

【数据库学习】——Python实现mysql数据库SQL文件生成和导入

目录 1、将mysql数据导出到SQL文件中(数据库存在的情况) 2、将现有的sql文件数据导入到数据库中(前提数据库存在) 3、利用Navicat导出SQL文件和导入SQL文件 1)从数据库导出SQL文件 2)导入SQL文件到数据…

lfcp——PB使用

场景:记录以备忘。 1 直接说明 pb连接说明:目前项目共有性能、功能、业务、联调四个环境。所以pb可以连接四个不同的数据库。1.copy一份pb程序,修改main.ini文件中的DBCONNECT/DBCONNECT2位new,DBNAME/DBNAME2为oracle数据源中的源…

【重磅】Google官方推出了免费的、中文的、机器学习初级课程。

2019独角兽企业重金招聘Python工程师标准>>> 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及…

市面上常见arduino版本比较

http://arduino.cc/en/Main/Products 详细链接 如果是入门,那么首选UNO R3,方便又省心 如果不是特殊要求,不建议购买2560,因为贵啊 nano是块很好的控制器,买不买随你咯 非特殊场合使用不建…

leetcode-114. Flatten Binary Tree to Linked List

Given a binary tree, flatten it to a linked list in-place. For example,Given 1/ \2 5/ \ \3 4 6The flattened tree should look like: 1\2\3\4\5\6思路:递归处理,引用二叉链表的思想,使用pre记录上一个分支的指针。Accepted Co…

HALCON示例程序autobahn高速公路车道识别程序剖析

HALCON示例程序autobahn高速公路车道识别程序剖析 小哥哥小姐姐觉得有用点个赞呗! 示例程序源码(加注释) *关闭halcon窗口的实时更新 dev_update_window (‘off’) *关闭halcon图形窗口 dev_close_window () *打开图形窗口 *dev_open_win…

CSS中的未定义行为,浏览器的差异(一)

今天看了张鑫旭大佬的新书的有感吧,记录一下。 Web标准未对一些场景做出明确规范,所以各大浏览器厂家只能根据自己的理解和喜好去实现,表现差异不是浏览器的bug,用计算机领域的术语描述为"未定义行为"。 比如一个例子&a…

KVC 和 KVO

作者 冲破茧缚 2015.08.28 16:12* 写了3967字,被8人关注,获得了14个喜欢KVC 和 KVO 字数363 阅读32 评论0 喜欢0KVC (Key Value Coding),键值编码,通过键值(字符串)来访问属性的机制,来间接修改…

Atmel megaAVR控制器 串行引导Bootloader

开始研究下Bootloader的代码结构 2015.1.9 粗略看了下,Bootloader主要做了下板卡的初始化 -----> 然后进入for( ; ; )死循环 -----> 循环刷新串口数据 -----> 根据数据做出不同应答 -----> 如果有写数据,则将数据存入buffer …

MapReduce入门2-流量监控

3、流量监控汇总(使用LongWritable实现) hdfs文件路径:/tmp/flow.txt 查看文件内容: 13770759991 50 100 25 400 13770759991 800 600 500 100 13770759992 400 300 250 1400 13770759992 800 1200 600 900字符串含义:…