python3.6连接mysql8.0

本文解决Python3.6使用mysql-connector连接MySQL8.0遇到的'caching_sha2_password'认证插件不支持问题。提供更改root用户认证方式及使用PyMySQL替代的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python 3.6无法连接到mysql(8.0)

新手入门python基础教程中用mysql-connector连接数据库

菜鸟教程中代码:

import mysql.connector
 
mydb = mysql.connector.connect(
  host="localhost",       # 数据库主机地址
  user="yourusername",    # 数据库用户名
  passwd="yourpassword"   # 数据库密码
)
 
print(mydb)

运行出现错误:
“Authentication plugin ‘{0}’ is not supported”.format(plugin_name))
mysql.connector.errors.NotSupportedError: Authentication plugin ‘caching_sha2_password’ is not supported

解决方法:

1、在网上搜索到原因是 mysql新版本(8.0以上)将root用户使用的plugin更新成caching_sha2_password。
登录到mysql,输入命令:
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的root密码’;
FLUSH PRIVILEGES; #刷新权限
2、直接换别的库,PyMySQL
它是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。
这里写图片描述

import pymysql
db = pymysql.connect(“localhost”,“root”,你的密码",“TESTDB” )
cursor = db.cursor() # 使用 execute() 方法执行 SQL 查询
cursor.execute(“SELECT VERSION()”)
data = cursor.fetchone()
print ("Database version : %s " % data)
db.close()
运行正确

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值