• pymysql pymysql.err.OperationalError 1045 Access denied最简单解决办法


     

    我使用的是python3.6+pymysql+mysql8.0

    在cmd命令行直接输入mysql回车出现:ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N

    O)

    这时在cmd命令行输入mysql -u root -p 回车输入密码,就可以成功连接数据库

    但用pymysql登陆报错,脚本如下:

    def connectdb():
    print('连接到mysql服务器...')
    db = pymysql.connect(
    host="localhost",
    user="root",
    passwd="dong1990",
    port=3306,
    db="fund_db",
    charset='utf8',
    cursorclass=pymysql.cursors.DictCursor)
    print('连接上了!')
    return db
    这时报错pymysql.err.OperationalError: (1045, u"Access denied for user 'root'@'localhost' (using password: No)")

    网上给了各种各样的方法,大多是通过各种方式修改密码。

    最简单的方法是更换了root密码的认证方式解决的,新版mysql使用的caching_sha2_password,换成mysql_native_password我就可以连上了。

    步骤是在cmd命令行连接mysql, 通过mysql -u root -p dong1990

    然后输入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'dong1990';

    DONE!

    这时再跑下python脚本就可以连接了。

  • 相关阅读:
    前序中序输出后序
    Blah数集
    中缀表达式转后缀表达式 (栈)
    1357:车厢调度 (栈)
    最长公共上升子序列 (LIS+LCS+记录)
    1481:Maximum sum (前缀和+dp)
    8464:股票买卖
    7627:鸡蛋的硬度
    2989:糖果
    U33405 纽约 (二分)
  • 原文地址:https://www.cnblogs.com/andy0816/p/15791915.html
Copyright © 2020-2023  润新知