我尝试了什么:
- 在 EC2 实例上安装了 MySql 服务器。
- 在实例的安全组中添加了一个入站规则以从所有源通过 shh 进行连接
- 创建数据库和用户
- 鉴于该用户的所有权限使用
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
django-admin startproject mysite
使用并安装了 mysqlclient创建了一个 Django 项目- 在项目设置中,我将默认数据库从 SQLite 更改为
{
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbtest',
'USER': 'root',
'HOST': '{IPv4 Public IP of the Instance}',
'PASSWORD': 'password',
}
现在当我运行python manage.py runserver
它给我错误
django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'xxx.xx.xxx.xxx' (using password: YES)")
然后,我还使用以下命令授予了该特定 IP 的所有权限:GRANT ALL PRIVILEGES ON *.* TO 'root'@'xxx.xx.xxx.xxx' WITH GRANT OPTION;
仍然没有运气。同样的错误。