【问题标题】:Mysql OperationalError 1044, connect to mysql databaseMysql OperationalError 1044,连接到mysql数据库
【发布时间】:2014-05-19 11:35:10
【问题描述】:

f_db我正在尝试使用 python 脚本连接到 mysql 数据库。我这样做的代码如下:

 `db = MySQLdb.connect(host="xxx.xx.xx.xx", # your host, usually localhost
                 port = xxxx,
                 user="chrathan", # your username
                 passwd="...", # your password
                 db="f_db") # name of the data base` 

我已经从 mysql 工作台打开数据库。但是,我无法从 python 打开它,我收到以下错误:

_mysql_exceptions.OperationalError: (1044, "Access denied for user 'chrathan'@'%' to database 'f_db'"). Basically I am receiving `Traceback (most recent call last):
 File "D:\_WORKSPACE\mysql\fashion_db.py", line 7, in <module>
db = 'f_db') mysql_exceptions.OperationalError: (1044, "Access denied for user 'chrathan'@'%' to database 'f_db'")` 

【问题讨论】:

  • 我发现错误代表数据库名称。当我删除该行时,它起作用了!因此问题在于最后一行和数据库的名称。
  • 我在工作台上连接了该信息。为什么现在我的用户'chrathan'@'%'拒绝访问数据库'f_db'
  • 请编辑您的问题并添加您在 cmets 中提供的信息。评论不适用于这种用法!

标签: python mysql connect


【解决方案1】:

在mysql终端输入这个命令

$> mysql
GRANT ALL PRIVILEGES ON f_db.* TO 'chrathan'@'%' identified by 'secret'

要在 mysqlworkbench 中将用户添加到数据库,请查看此页面 How to Create a MySQL Database with MySQL Workbench

【讨论】:

  • mysql 实用程序控制台中的 mysql 命令它为我提供了无法从路径 c\programfiles\MySQL\MySQL Utilities 1.3.6 访问的实用程序 mysql,并且 GRANT .. 它给了我未知的命令。跨度>
  • 基本上我正在安装mysql工作台,我发现mysql.exe存在于c\programfiles\MySQL\MySQL Workbench CE 6.1.4中,
  • 我已经在工作台中添加了用户,但我无法从 python 访问数据库。我的问题是 python,工作台工作正常。
  • @FereRes 查看页面末尾并查看用户和权限
  • 在数据库中,当我点击用户和权限时,它显示您当前使用的帐户没有足够的权限来更改 mysql 用户和权限。
【解决方案2】:

也许你应该检查数据库名称是否相同,同样的问题发生在我身上,最后我发现 mysqlclient 数据库名称与我在 python 中使用的不同

【讨论】:

    猜你喜欢
    • 2010-12-11
    • 2015-04-01
    • 2020-12-16
    • 2016-08-27
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多