我用 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
提交
取消