【问题标题】:Access denied for user 'host'@'localhost' (using password: YES)用户 'host'@'localhost' 的访问被拒绝(使用密码:YES)
【发布时间】:2019-06-20 13:48:31
【问题描述】:

MySQLdb._exceptions.OperationalError: (1045, "Access denied for user 'host'@'localhost' (using password: YES)")

我的密码正确,但在尝试使用 sql 连接我的应用程序后,我收到此错误

 cur = mysql.connection.cursor()
 cur.execute("INSERT INTO user VALUES(%s)",('M'))
 mysql.connection.commit()

从网上的回复中,我应该重置我的密码。我试过这样: 在我尝试重置它之后:

1.) cd /usr/local/mysql/bin

2.) ./mysql -u root -p 3.) 我输入我的密码

现在没有错误

服务器版本:8.0.12 MySQL 社区服务器 - GPL 版权所有 (c) 2000, 2018,Oracle 和/或其附属公司。版权所有。 Oracle 是 Oracle Corporation 和/或其 附属公司。其他名称可能是其各自的商标 所有者。

键入“帮助;”或 '\h' 寻求帮助。输入 '\c' 清除当前输入语句。

仅在我想做的应用中。

【问题讨论】:

  • 你是如何声明你的连接的?,你确认用户名和用户权限了吗?

标签: python sql macos


【解决方案1】:

您似乎正在尝试使用用户名 host 连接,因此 Access denied for user 'host'@'localhost'错误信息。

使用命令行与 root 用户连接。您能否确认您在应用程序中使用了正确的用户名?

【讨论】:

  • 我使用这个配置:#Configure db db = yaml.load(open('db.yaml')) app.config['MYSQL_HOST'] = db['mysql_host'] app.config[ 'MYSQL_USER'] = db['mysql_user'] app.config['MYSQL_PASSWORD'] = db['mysql_password'] app.config['MYSQL_DB'] = db['mysql_db'] mysql = MySQL(app)
  • db.yaml 文件是这样的: mysql_host: 'localhost' mysql_user: 'host' mysql_password: 'xxxxxxx' mysql_db: 'my_database'
  • 如果你有一个叫host的用户,那就没关系
  • 确保您有一个名为 host 的用户具有足够的访问权限。查看您的问题,您的数据库用户是否是 root。请注意使用此用户,因为这可能是一个安全问题。
猜你喜欢
  • 2013-05-07
  • 2015-06-27
  • 2016-07-11
  • 2020-03-18
  • 2016-06-21
相关资源
最近更新 更多