zoukankan      html  css  js  c++  java
  • mac电脑python连接本地mysql报错:pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

    配置:python3.6+pymysql+mysql8.0.21

    问题:终端命令可正常进行连接mysql服务,pycharm中代码连接mysql报错

    代码:

    import pymysql

    conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='password',db='auto_api',
    charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

    # 通过cursor创建游标
    cursor = conn.cursor()
    # 创建sql 语句
    sql = "select * from api_id"
    # 执行sql语句
    cursor.execute(sql)
    # 获取所有记录列表
    results = cursor.fetchall()
    print(results)

    cursor.close() # 关闭游标连接
    conn.close() # 关闭数据库连接

    运行结果:
    pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

    解决方案:更换root密码的认证方式-新版mysql使用的caching_sha2_password,换成mysql_native_password
    步骤:
    1、终端命令行连接mysql:
      mysql -u root -p
    2、输入mysql登录密码
    3、输入命令:
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    4、回车执行命令
    5、返回下面内容代表执行成功
      Query OK, 0 rows affected (0.01 sec)

    结果:再次执行pycharm中的代码成功返回数据库内容
  • 相关阅读:
    CORS--跨域资源共享
    https协议
    http协议
    TCP/IP协议
    hashcode和equals方法
    单例模式
    Linux上安装Oracle的教程-centos7
    Linux命令大全
    初学者如何快速入门人工智能?(附资源)
    初学者如何从零开始学习人工智能?看完你就懂了
  • 原文地址:https://www.cnblogs.com/miracleflower/p/13712579.html
Copyright © 2011-2022 走看看