如何使用mysqlconnector获取sqlalchemy.create_engine以使用mysql_native_password进行连接? [英] How do I get sqlalchemy.create_engine with mysqlconnector to connect using mysql_native_password?

查看:596
本文介绍了如何使用mysqlconnector获取sqlalchemy.create_engine以使用mysql_native_password进行连接?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用pandas和sqlalchemy,并且想将DataFrame加载到MySQL数据库中.我当前正在使用以下代码段:

I'm working with pandas and sqlalchemy, and would like to load a DataFrame into a MySQL database. I'm currently using this code snippet:

db_connection = sqlalchemy.create_engine('mysql+mysqlconnector://user:pwd@hostname/db_name')

some_data_ref.to_sql(con=db_connection, name='db_table_name', if_exists='replace')

在此之前已导入

sqlalchemypandas.

sqlalchemy, pandas have been imported prior to this.

我的MySQL后端是8.x,我知道它使用的是caching_sha2_password.如果我要使用mysql.connector.connect连接到数据库,并且想使用mysql_native_password方法,我知道我应该这样指定auth_plugin = mysql_native_password:

My MySQL backend is 8.x, which I know uses caching_sha2_password. If I were to connect to the database using mysql.connector.connect and I want to use the mysql_native_password method, I know that I should specify auth_plugin = mysql_native_password like so:

mysql.connector.connect(user=user, password=pw, host=host, database=db, auth_plugin='mysql_native_password')

我的问题:是否可以通过sqlalchemy.create_engine('mysql+mysqlconnector://...)强制进行mysql_native_password身份验证?

My question: Is there a way to force mysql_native_password authentication with sqlalchemy.create_engine('mysql+mysqlconnector://...)?

任何对此的建议将不胜感激...

Any advice on this would be much appreciated...

推荐答案

您可以使用

You could use connect_args:

db_connection = sqlalchemy.create_engine(
    'mysql+mysqlconnector://user:pwd@hostname/db_name',
    connect_args={'auth_plugin': 'mysql_native_password'})

或URL 查询:

db_connection = sqlalchemy.create_engine(
    'mysql+mysqlconnector://user:pwd@hostname/db_name?auth_plugin=mysql_native_password')

这篇关于如何使用mysqlconnector获取sqlalchemy.create_engine以使用mysql_native_password进行连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆