• 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脚本就可以连接了。

  • 相关阅读:
    codevs1288 埃及分数
    codevs1792 分解质因数
    dp
    JAVA大数贪心
    求最长不重叠子串
    初识后缀数组
    dp
    两数相除,判断小数位是否有限位
    构造二分图匹配
    建立多个树状数组
  • 原文地址:https://www.cnblogs.com/andy0816/p/15791915.html
Copyright © 2020-2023  润新知