日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLAlchemy 报错 NotSupportedError: Authentication plugin ‘caching_sha2_password’ is not supported 解决方法

發布時間:2024/2/28 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLAlchemy 报错 NotSupportedError: Authentication plugin ‘caching_sha2_password’ is not supported 解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

報錯內容

在使用 python SQLAlchemy 連接數據庫時,遇到以下錯誤:

NotSupportedError: 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。

解決方法

  • 登錄mysql數據庫 mysql -u root -p

  • 更新身份認證方式 ALTER USER root@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

  • py 代碼中添加auth_plugin=mysql_native_password

  • 完整代碼示例:

    #!/usr/bin/env python3 # -*- coding: utf-8 -*-from sqlalchemy import Column, String, create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base# 創建對象的基類: Base = declarative_base()# 定義User對象: class User(Base):# 表的名字:__tablename__ = 'user'# 表的結構:id = Column(String(20), primary_key=True)name = Column(String(20))# 初始化數據庫連接: engine = create_engine('mysql+mysqlconnector://root:123456@localhost:3306/crawer?auth_plugin=mysql_native_password')# 創建DBSession類型: DBSession = sessionmaker(bind=engine)# 創建session對象: session = DBSession() # 創建新User對象: new_user = User(id='5', name='Bob') # 添加到session: session.add(new_user) # 提交即保存到數據庫: session.commit() # 關閉session: session.close()# 創建Session: session = DBSession() # 創建Query查詢,filter是where條件,最后調用one()返回唯一行,如果調用all()則返回所有行: user = session.query(User).filter(User.id=='5').one() # 打印類型和對象的name屬性: print('type:', type(user)) print('name:', user.name) # 關閉Session: session.close()

    總結

    以上是生活随笔為你收集整理的SQLAlchemy 报错 NotSupportedError: Authentication plugin ‘caching_sha2_password’ is not supported 解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。