用户访问被拒绝 (1044) - Django 和 MariaDB
Access denied for user (1044) - Django & MariaDB
正在尝试 运行 一些针对远程 MariaDB 实例的简单查询。 (注意:我不是在尝试应用模型等)
我已经对拼写进行了四重检查,我可以在同一 user/pass/port/hostname 等上连接其他应用程序
但每当我尝试 运行 查询时,我得到:
(1044, "Access denied for user 'xyz_user'@'%' to database 'xyz_name'")
我发现 'xyz_user'@'%'
部分有点奇怪,我认为它应该看起来像:'xyz_user'@'xyz_name'
...
setings.py:
'xyz_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xyz_name',
'USER': 'xyz_user',
'PASSWORD': 'xyz_pass',
'HOST': 'xyz_hostname',
'PORT': '1234',
}
视图模块:
from django.db import connections
...
def some_func():
cursor = connections['xyz_db'].cursor()
cursor.execute("SELECT user FROM xyz_table LIMIT 2")
row = cursor.fetchone()
return row
非常感谢任何关于我可能做错的见解!
发现问题(用户错误,当然...)
对于key/value 'NAME' : 'xyz_name'
我误加了'Connection Name',不是数据库名。在这种情况下,此主机上只有一个数据库。
因此:
'xyz_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xyz_name',
'USER': 'xyz_user',
'PASSWORD': 'xyz_pass',
'HOST': 'xyz_hostname',
'PORT': '1234',
}
应该是:
'xyz_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': 'xyz_user',
'PASSWORD': 'xyz_pass',
'HOST': 'xyz_hostname',
'PORT': '1234',
}
正在尝试 运行 一些针对远程 MariaDB 实例的简单查询。 (注意:我不是在尝试应用模型等)
我已经对拼写进行了四重检查,我可以在同一 user/pass/port/hostname 等上连接其他应用程序
但每当我尝试 运行 查询时,我得到:
(1044, "Access denied for user 'xyz_user'@'%' to database 'xyz_name'")
我发现 'xyz_user'@'%'
部分有点奇怪,我认为它应该看起来像:'xyz_user'@'xyz_name'
...
setings.py:
'xyz_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xyz_name',
'USER': 'xyz_user',
'PASSWORD': 'xyz_pass',
'HOST': 'xyz_hostname',
'PORT': '1234',
}
视图模块:
from django.db import connections
...
def some_func():
cursor = connections['xyz_db'].cursor()
cursor.execute("SELECT user FROM xyz_table LIMIT 2")
row = cursor.fetchone()
return row
非常感谢任何关于我可能做错的见解!
发现问题(用户错误,当然...)
对于key/value 'NAME' : 'xyz_name'
我误加了'Connection Name',不是数据库名。在这种情况下,此主机上只有一个数据库。
因此:
'xyz_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xyz_name',
'USER': 'xyz_user',
'PASSWORD': 'xyz_pass',
'HOST': 'xyz_hostname',
'PORT': '1234',
}
应该是:
'xyz_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': 'xyz_user',
'PASSWORD': 'xyz_pass',
'HOST': 'xyz_hostname',
'PORT': '1234',
}