mysql 连接器 python,NotSupportedError
从Mongodb导出一批 Json 数据,需要转到 Mysql,但是导出的 Json 格式无法直接写入mysql,就想着先把数据转为Pandas的dataframe,然后再通过dataframe写入sql:
import pandas as pd
from sqlalchemy import create_engine
import json
def json_to_sql(jsonfile, sqlname):
df = pd.read_json(jsonfile, lines=True)
conn = create_engine('mysql+mysqlconnector://root:123456@localhost:3306/ScientificName?charset=utf8')
for i in range(len(df)):
df['chromosomes'][i] = json.dumps(df['chromosomes'][i][0], ensure_ascii=False)
print(df['chromosomes'][0])
df.to_sql(name=sqlname, con=conn, if_exists='append', index=False)
json_to_sql('/Downloads/数据表JSON-20180118/speciesHengduan.json', 'speciesHengduan')
结果运行时总是报错,用的 mysql 版本是 8.0.11:
NotSupportedError: (mysql.connector.errors.NotSupportedError) Authentication plugin 'caching_sha2_password' is not supported (Background on this error at: http://sqlalche.me/e/tw8g)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
MySQL8在这里和低版本不兼容,你可以重新安装MySQL(或者用Reconfigure选项),把认证的选项设置为“Use Legacy Authentication Method”, 或者你如果不是必须要用MySQL 8,可以降级到低版本。