推倒障碍成浮桥 2020-04-05 23:11 采纳率: 16.7%
浏览 143
已采纳

使用MySQLdb使用connect方法连接Mysql数据库1251cuo'wu

用Navicat premium连接MySQL数据库没问题
图片说明

这是我在eclipse中写的

``

import MySQLdb

MySQLdb.connect(host='127.0.0.1', user="root", passwd="****", db="index", charset="utf8")

下面控制台报错显示:
_mysql_exceptions.OperationalError: (1251, 'Client does not support authentication protocol requested by server; consider upgrading MySQL client')

不懂 客户端为什么不支持服务器请求的身份验证协议;让我升级mysql客户端
  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 01:34
    关注

    这个问题是因为 MySQL 8.0 版本默认使用了 caching_sha2_password 身份验证插件,而该插件不受较旧的 MySQL 版本支持。解决这个问题的方法是使用较旧的身份验证插件或升级 MySQL 客户端。

    你可以在 MySQL 8.0 中使用以下方式更改身份验证插件,使其支持较旧的客户端:

    1. 登录 MySQL,输入以下命令:
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
    
    1. 如果你使用的是其他类型的主机,请将 'localhost' 更改为相应的主机名。 "yourpassword" 是你的 MySQL 密码,如果你还没有设置密码,可以用空值替代。

    2. 退出 MySQL 并尝试重新连接你的客户端。

    希望这可以帮助你解决问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 7月27日

悬赏问题

  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?