MySqldb连接mysql报错:“Authentication plugin ‘mysql_native_password‘ cannot be loaded

MySQL 连接出现 Authentication plugin 'caching_sha2_password' cannot be loaded 项目需要,使用了ODB库操作数据库,当时编译的时候就出现了异常,问题出在mysql版本上,我用的8.0以上的版本的mysql的include,编译不过去,换了个6.0的,编译通了。等到运行的时候,第一步连接数据库就报了 Authentication plugin 'caching_sha2_password' cannot be loaded 的错误,经过了解,是因为mysql8.0之前的... 阅读详情

python环境:3.13.9
mysqlclient: 2.2.7
操作系统:mac

连接mysql的脚本:

import MySQLdb

conn = MySQLdb.connect(
    host="rw-19eb41.mysql.qihudb.net",        # MySQL 地址
    port=3970,               # MySQL 端口
    user="super15374_rw",             # 用户名
    passwd="3f711fd13bc0ce72",       # 密码
    db="deep_label",             # 数据库名
    charset="utf8mb4"        # 编码
)

# 2️⃣ 创建游标
cursor = conn.cursor()

报错信息:

MySQLdb.OperationalError: (2059, "Authentication plugin 'mysql_native_password' cannot be loaded: dlopen(/opt/miniconda3/envs/deep-label/lib/plugin/mysql_native_password.so, 0x0002): tried: '/opt/miniconda3/envs/deep-label/lib/plugin/mysql_native_password.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/miniconda3/envs/deep-label/lib/plugin/mysql_native_password.so' (no such file), '/opt/miniconda3/envs/deep-label/lib/plugin/mysql_native_password.so' (no such file)")

刚开始以为是mysqlclient的版本不对,把mysqlclient降到2.2.0,还报这个错。后来用conda创建了一个python=3.12的虚幻境,同样的代码,不报错。创建一个python=3.10的虚幻境,执行脚本,也不报错。可能是python3.13和mysqlclient不兼容吧

MySQL 8认证协议升级与连接问题解决方案 数据库认证协议是保障数据安全的重要机制,MySQL 8默认采用caching_sha2_password插件替代传统的mysql_native_password,通过SHA-256算法和TLS加密提升安全性。这一升级虽然增强了防护能力,但也带来了客户端兼容性问题,特别是使用旧版驱动的Java、Python等应用会出现连接失败。理解认证协议的工作原理后,开发者可通过升级驱动、修改认证方式或配置SSL等方案解决。在电商系统等生产环境中,还需考虑灰度升级和监控策略,确保平稳迁移。本文以caching_sha2_p 阅读详情

相关推荐

MySQL 8.0认证插件变更与兼容性解决方案

数据库认证机制是保障数据安全的重要技术环节。MySQL通过插件式认证体系实现灵活的密码验证,其核心原理是通过不同的哈希算法处理用户凭证。随着MySQL 8.0的发布,默认认证插件从mysql_native_password升级为caching_sha2_password,采用更安全的SHA-256算法,这显著提升了传输安全性但带来了兼容性挑战。在数据库迁移和混合环境部署场景下,开发者常会遇到'Plugin not loaded'报错问题。通过调整认证插件配置、升级客户端驱动或修改用户认证方式等技术手段,可以

weixin_34212762的博客 278

Plugin ‘mysql_native_password‘ is not loaded`

遇到错误 ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded 表示 mysql_native_password 插件在 MySQL 服务中没有加载或不可用。这种情况通常出现在新版的 MySQL 中,尤其是从 MySQL 5.7 升级到 MySQL 8.0 时,因为 MySQL 8.0 默认使用了更安全的认证插件 caching_sha2_password。

qq_53157024的博客 1万+

Superset Docker 连接 MySQL 驱动安装与配置全指南

Apache Superset 是一款开源的现代化 BI 可视化平台,其核心能力依赖于 SQLAlchemy 对各类数据库的连接支持。在容器化部署场景下,MySQL 连接并非简单执行 pip install 即可生效,而是涉及镜像构建时的系统依赖(如 libmysqlclient-dev)、Python 驱动选型(mysqlclient 与 PyMySQL 的性能及 ABI 兼容性差异)、SQLAlchemy URI 协议格式(mysql+mysqldb)以及 Docker 网络与服务就绪机制等多层技术原理

weixin_30697239的博客 356

解决MYSQL error :Authentication plugin ‘mysql_native_password‘ cannot be loaded: 找不到指定的模块。

解决MYSQL error :Authentication plugin 'mysql_native_password' cannot be loaded: 找不到指定的模块。

m0_60447786的博客 2845

Django连接MySQL跨平台配置指南:从驱动选择到生产环境部署

数据库连接是Web应用开发的基础,其核心在于通过驱动程序实现应用与数据库的通信。在Python生态中,Django框架通过数据库后端引擎与MySQL交互,而mysqlclient作为官方推荐的C扩展驱动,提供了高性能的原生协议支持。其技术价值在于确保了数据操作的稳定性和效率,是构建数据驱动型应用的关键。在实际开发中,尤其是在macOS和Windows等异构环境下,环境配置、依赖管理和认证插件兼容性成为常见挑战。本文聚焦于mysqlclient驱动的安装与配置,深入解析Django的DATABASES配置项,

cmff98425的博客 377

Python连接MySQL实战:解决2003/1045错误与事务提交陷阱

MySQL与Python集成是数据工程和Web后端开发的基础能力,其核心在于理解数据库服务生命周期、网络连接协议、认证机制及事务控制原理。技术价值体现在避免常见连接失败(如错误码2003、1045)、保障数据一致性(commit缺失导致‘数据消失’)以及提升批量操作性能(executemany替代循环execute)。典型应用场景包括本地开发环境调试(Mac M1+MySQL 8.4)、Docker容器化部署、电商订单系统数据写入及SaaS平台客户信息管理。本文聚焦真实项目中高频卡点,深入解析服务监听状态验

chubaisheng8627的博客 1894

通过navicat远程连接MySQL提示Authentication plugin ‘caching_sha2_password‘ cannot be loaded的问题解决

MySQL 的用户账号是基于用户名和主机名的组合来识别的,所以 ‘root’@‘localhost’ 和 ‘root’@‘192.168.1.3’ 被视为两个不同的账号。这将对所有新创建的用户使用mysql_native_password认证插件,但是对于已经存在的用户,你可能还需要按照解决方案1中的步骤来手动更改认证插件。这个时候需要修改一下连接的权限,执行以下两个命令,执行完成之后,再去看一下数据库的数量,就可以解决连接失败的问题了。由此可见我们有有了1.3的用户,在执行命令就不会报错了。

HelloFif的博客 1万+

Ansible自动化部署LEMP:Ubuntu 18.04生产实践指南

LEMP(Linux+Nginx+MySQL+PHP)是现代Web服务的基础技术栈,其核心价值在于高性能、低资源占用与模块化架构;Nginx作为反向代理与静态资源服务组件,通过事件驱动模型显著优于传统Apache的进程/线程模型;而Ansible凭借无代理、YAML声明式语法和幂等性,成为实现LEMP环境标准化、可审计、可回滚部署的首选自动化工具。在Ubuntu 18.04这一广泛服役的EOL LTS版本上,需特别适配Python 2.7运行时、mysql-server-5.7包名变更及php-fpm Un

weixin_30691871的博客 380

Plugin ‘mysql_native_password‘ is not loaded

alter user 'root'@'localhost' identified with caching_sha2_password by '密码';mysql_native_password,而在8.0版本更新之后,密码默认加密方式为:caching_sha2_password。

2303_78892703的博客 2471

mysql-connector-python 2.1.7离线安装与兼容性实战指南

Python应用连接MySQL数据库时,连接库的选择直接影响部署效率与运行稳定性。主流方案有mysqlclient、PyMySQL和官方提供的mysql-connector-python。与依赖C扩展的mysqlclient不同,mysql-connector-python支持纯Python协议,无需编译环境,能在精简或离线服务器上快速安装。当面对存量Python 2.7系统或内网隔离环境时,新版本连接器往往因依赖过重而无法使用,而mysql-connector-python 2.1.7这个老版本反而成为最

weixin_33795093的博客 349

Django+MySQL药品管理系统实战:从数据库设计到部署上线

在构建业务管理系统时,数据一致性与可追溯性往往比功能堆砌更为关键。数据库设计决定了系统的稳定边界,而事务机制与并发控制则保障了数据在复杂操作下的准确性。以Django ORM与MySQL关系型数据库为技术底座,通过合理建模、锁机制及流水记录,可以实现库存变动、批次追溯和预警提醒等核心能力。这类系统广泛应用于药房、医院科室及供应链管理场景,需要兼顾权限控制、操作日志与高效检索。本文围绕药品管理系统的完整开发链路,从表结构设计、事务处理、检索优化到生产部署,给出了一套兼顾工程实践与业务合规的实现思路,帮助开发者

weixin_34115824的博客 371

解决mysql数据库连接报错:Authentication plugin ‘caching_sha2_password‘ cannot be loaded...

解决mysql数据库连接报错:Authentication plugin ‘caching_sha2_password’ cannot be loadedOperationalError: (2059, “Authentication plugin ‘caching_sha2_password’ cannot be loa...

weixin_36844731的博客 594

Django+MySQL药品管理系统开发实战:从数据模型到部署上线

在企业管理系统的开发中,Web框架与关系型数据库的选型直接影响开发效率与系统稳定性。Django作为Python生态中成熟的全栈框架,凭借内置ORM、Admin后台、认证与迁移机制,大幅简化了增删改查与权限控制的实现;MySQL凭借其广泛适用性与事务支持,成为关系数据存储的可靠选择。通过ORM将数据库操作映射为对象方法,既保证数据一致性,又提升开发效率。两者结合特别适合药品管理这类对库存、批次、有效期有严格要求的业务场景——既可灵活建模,又能利用Django生态快速搭建库存预警、效期提醒等功能。本文围绕药品

weixin_34138056的博客 491

CentOS 8 MySQL模块化安装与配置全指南

MySQL 是广泛使用的开源关系型数据库,其在 CentOS 等 RHEL 系家族系统中的部署方式随版本演进发生根本性变化。CentOS 8 引入 DNF 模块化(Modular)仓库机制,将 MySQL 拆分为多个可选流(如 mysql:8.0、mysql:5.7),取代传统单一包安装逻辑。这一设计提升了版本可控性与环境一致性,但也要求用户显式启用模块流、选择 Profile 配置集,并理解配置文件分层加载规则。技术价值体现在生产环境的可复现部署、多版本共存能力及安全策略精细化管控。典型应用场景包括云服务

weixin_33694620的博客 353

搜索引擎——ElasticSearch汇总

汇总——ElasticSearch篇 全文检索 问题1:什么是全文检索? 基本概念:对**非结构化数据/结构化数据**先建立**索引**,再对索引进行搜索**文档**的过程叫做全文检索。 什么是非结构化与结构化数据? - 非结构化数据:没有固定的格式的数据(html,word,excel)---没有固定长度,字段约束,描述,散列数据 - 结构化数据:有固定的格式的数据(如:数据库数据)---有固定长度(varchar(50)),字段类型,描述修饰数据 搜索算法:顺序扫描法、倒排索引法 - 顺序

alonewolf_99的博客 1839

EMC工程师职业发展:从测试整改到系统设计的进阶之路

电磁兼容(EMC)是确保电子设备在复杂电磁环境中可靠工作的关键技术,其核心在于控制电磁干扰(EMI)并提升抗扰度。其基本原理涉及电磁场理论、噪声耦合路径与滤波屏蔽技术。对于电子产品而言,EMC设计直接关系到能否通过CE、FCC等强制性认证,是产品上市和市场竞争力的关键。在工程实践中,EMC工程师需要从电路设计、PCB布局、元器件选型等源头入手,将EMC要求融入产品开发全流程,实现从后期“整改”到前期“设计预防”的价值跃迁。本文聚焦EMC工程师的核心能力体系构建与职业发展路径,深入探讨了如何从掌握标准测试、电

weixin_30819085的博客 389

SaltStack自动化部署MySQL:debconf预设与声明式配置实战

MySQL自动化部署本质上是Linux系统配置管理问题,核心在于解决Debian/Ubuntu平台下apt安装时的交互式阻塞、服务依赖收敛、密码与配置分离、以及部署后健康验证四大挑战。SaltStack通过debconf-utils预设、Salt States声明式建模、Pillar敏感数据隔离和cmd.run+unless状态验证机制,将原本脆弱的过程式脚本升级为幂等、可审计、可回滚的基础设施代码。尤其在金融级数据库集群中,debconf.set_selections成为打通无人值守安装的关键开关,配合J

weixin_30875157的博客 722

RK3566基于Buildroot定制QT开发环境的完整指南

本文详细介绍了如何在RK3566开发板上使用Buildroot定制QT开发环境的完整流程。从基础环境搭建、Buildroot初始配置到QT模块选择与编译验证,提供了实战经验和常见问题解决方案,帮助开发者高效完成嵌入式Linux下的QT开发环境部署。

weixin_26804345的博客 358

Python操作MySQL必知必会:pymysql连接管理、事务与性能优化实战

在Python后端开发中,操作MySQL数据库是高频场景,而pymysql作为纯Python实现的驱动,因其安装简单、跨平台兼容性好,成为中小型项目和数据脚本的首选。理解数据库连接、游标与事务的关系,是保证数据一致性的基础;通过连接池管理连接可显著提升高并发场景下的资源利用率。参数化查询能有效防御SQL注入,executemany批量写入则能大幅优化数据导入效率。从环境配置到连接池设计,从增删改查到慢查询定位,掌握pymysql的核心实践,能帮助开发者构建更稳健的数据访问层,并在生产环境中快速排查连接失败、

weixin_35748962的博客 176

Response Instance 详解:在 ABAP OData Client Proxy 中读懂每一次响应

ABAP OData Client Proxy中的Response Instance是关键信息载体,封装了业务数据及调用上下文(如分页、delta link等)。响应实例在执行请求后自动生成,根据请求类型返回特定接口(如READ返回/IWBEP/IF_CP_RESPONSE_READ)。响应抽象与OData版本解耦,支持统一处理V2/V4服务。常见响应类型包括单实体读取、列表读取(支持分页和增量同步)、创建/更新/删除响应等。开发时可通过响应对象的安全类型方法获取数据,如get_business_data获

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 137

Python电商网站全站爬虫实战:以京东为例的数据采集与分析

随着电子商务的蓬勃发展,电商数据已成为市场研究、竞争分析和消费者行为研究的重要资源。本文详细介绍了如何使用Python最新技术栈构建一个高效的电商网站全站爬虫,以京东为例实现商品数据的自动化采集。文章涵盖了爬虫的法律与伦理考量、技术选型、反爬虫策略应对、分布式架构设计以及数据存储方案,并提供了完整的代码实现。本爬虫系统采用Scrapy-Redis分布式框架、Selenium动态渲染、智能代理轮换和机器学习验证码识别等先进技术,能够稳定高效地抓取京东全站商品数据,为电子商务研究提供数据支持。关键词。

2201_76125261的博客 414

Django+MySQL网购数据可视化系统搭建与改造教程

在Web开发与数据分析场景中,数据可视化已成为直观呈现业务规律的重要方式。通过图表和看板,非技术人员也能快速理解订单、商品、用户等核心数据的变化趋势。实现这类系统通常需要后端框架、关系型数据库与前端图表库的协同:Django作为成熟Python Web框架,提供ORM、Admin后台及模板渲染能力;MySQL负责结构化数据存储;ECharts等图表库则完成可视化展示。这种组合尤其适合课程设计与毕业设计,能完整覆盖数据建模、接口开发和页面交互等环节。本文以网购数据可视化分析系统为例,介绍基于Django与My

weixin_30764883的博客 381

【android bluetooth 案例分析 01】【HiCar 详解 3】【hicar时如何交换Wifi参数的】

如果直接使用 L2CAP(不经过 RFCOMM),会需要额外的协议来保证可靠性,而 RFCOMM 天然支持。BLE 广播的数据长度受限(31 字节 / 255 字节扩展),不适合传输复杂的 Wi-Fi 连接参数。使用 RFCOMM 传输参数,可以兼容不同厂商的车机和手机,而无需依赖特殊的蓝牙功能。手机解析这些参数,并使用 Wi-Fi Direct 连接到车机。,然后才能让 Wi-Fi Direct 进行真正的数据传输。,适合传输 Wi-Fi 连接参数等关键数据。,可以安全地交换 Wi-Fi 连接信息。

奔跑吧 android 的博客 1740

CentOS 7装MySQL 8.0:Yum源配置与初始化密码详解

数据库安装是Linux运维中的基础技能,而版本兼容与依赖管理往往成为新手的第一道坎。在RHEL系操作系统上,软件仓库的配置决定了安装的成败,官方Yum源能够自动处理依赖关系,避免源码编译带来的复杂性与不确定性。MySQL 8.0作为主流关系型数据库,引入了窗口函数、CTE等新特性,同时默认启用更安全的caching_sha2_password认证插件与强密码策略,这在初始化阶段需要特别注意。针对CentOS 7与MySQL 8.0的组合,理解其版本差异、仓库优先级及临时密码机制,是快速完成部署的关键。本文面

weixin_34185320的博客 360

红队攻防渗透技术实战流程:云安全之云原生安全:特权模式和挂载模式

红队云攻防实战1. 什么是云 1. 什么是云

HACKONE的博客 573

CloudCompare二次开发(1)——获取指定高程的所有点

使用CloudCompare插件实现获取点云数据中指定高程的所有点。

点云侠的博客 4735
上一篇: 小模型部署:fastapi+gunicorn
python_tty
博客等级 码龄12年 226粉丝 242原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值