gpt4 book ai didi

django - pythonanywhere:拒绝用户 'USERNAME' @'%' 访问数据库

转载 作者:行者123 更新时间:2023-12-04 17:48:02 25 4
gpt4 key购买 nike

我正在使用 www.pythonanywhere.com用于部署我的 Django 项目。 pythonanywhere的数据库设置如下:

Connecting: 
Database host address: mysql.server
Username: Username (just as an example)

Your databases:
Start a console on: Username$DBName (just as an example)
...

使用“manage.py migrate”命令设置数据库时,出现错误消息:
django.db.utils.OperationalError: (1044 "Access denied for user 'Username'@'%' to database 'DBName'")

文件中的数据库设置 settings.py如下面所述。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DBName',
'USER': 'Username',
'PASSWORD': 'password',
'HOST': 'mysql.server',
'PORT': '3306',
}
}

我可以使用以下命令在控制台中运行 mysql:
$ mysql -u Username -h mysql.server -p

当我输入以下命令时:
mysql> use mysql;

我收到错误消息:
ERROR 1044 (42000): Access denied for user 'Username'@'%' to database 'mysql'

“显示数据库;”命令显示没有名为“mysql”的数据库。

当我输入以下命令时:
mysql> GRANT ALL PRIVILEGES ON DBName.* TO 'Username'@'Username$DBName' IDENTIFIED BY 'password' WITH GRANT OPTION;

我也收到了错误信息:
ERROR 1044 (42000): Access denied for user 'Username'@'%' to database 'DBName'

那么,如何设置数据库呢?

最佳答案

在 pythonanywhere 文档中找到了这个,使用 MySQL 的数据库设置应该是以下形式:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '<your_username>$<your_database_name>',
'USER': '<your_username>',
'PASSWORD': '<your_mysql_password>',
'HOST': 'mysql.server',
}
}

如果你的用户名是 user,数据库是 db,那么你的数据库名应该是 用户$db ,不是数据库。

同样,要在控制台中访问数据库,请键入

mysql>use user$db;



并不是

mysql>use db;

关于django - pythonanywhere:拒绝用户 'USERNAME' @'%' 访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26571361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com