我用 RDS 创建了一个新的 AWS mysql 数据库实例,我正在尝试从我机器上的 Django 应用程序连接到它。Django 要求默认数据库连接的格式如下settings.py:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'innodb', 'USER': 'username', 'PASSWORD': 'password', 'HOST': '--------.us-west-2.rds.amazonaws.com', 'PORT': '####' }}我的问题与'NAME'参数有关。我使用RDS控制台中提供的终端节点和端口号从命令行连接到AWS实例,并检查那里有哪些数据库。这是我用RDS新建的一个全新的数据库实例,有5个数据库。$ mysql -h ---------.us-west-2.rds.amazonaws.com -P #### -u username -pEnter password:mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || innodb || mysql || performance_schema || sys |+--------------------+这些数据库中唯一一个空的是名为innodb. 起初我以为该NAME参数应该是“ mysql”,因为那是我正在使用的数据库服务器的名称。但是当我使用“mysql”作为名称并运行时,python manage.py migrate我收到一条错误消息django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table ((1044, "Access denied for user 'username' to database 'mysql'"))将 更改NAME为 'innodb' 让我使用migrate命令连接和写入表。为什么我需要使用innodb数据库而不是mysql或其他任何数据库?当我在 AWS 上创建新的 RDS 实例时,我没有看到任何提及正在创建的 5 个数据库,而且我找不到任何关于连接到 RDS 实例时应该使用的名称的提及。这 5 个数据库的目的是什么,为什么 innodb 是唯一一个空且可写的?
添加回答
举报
0/150
提交
取消