Amazon web services Sequelize.js AWS RDS未知数据库,尽管向配置传递了有效的数据库标识符
我正在尝试从我的代码连接到AWS RDS数据库:Amazon web services Sequelize.js AWS RDS未知数据库,尽管向配置传递了有效的数据库标识符,amazon-web-services,sequelize.js,amazon-rds,Amazon Web Services,Sequelize.js,Amazon Rds,我正在尝试从我的代码连接到AWS RDS数据库: const { DATABASE_HOSTNAME, DATABASE_BASENAME, // ches DATABASE_USERNAME, DATABASE_PASSWORD, } = process.env; this.sequelize = new Sequelize(DATABASE_BAS
const {
DATABASE_HOSTNAME,
DATABASE_BASENAME, // ches
DATABASE_USERNAME,
DATABASE_PASSWORD,
} = process.env;
this.sequelize = new Sequelize(DATABASE_BASENAME, DATABASE_USERNAME, DATABASE_PASSWORD, {
dialect: 'mysql',
host: DATABASE_HOSTNAME,
});
这是我的AWS RDS数据库。但是,当我运行代码时,我得到一个错误:
code: 'ER_BAD_DB_ERROR',
errno: 1049,
sqlState: '42000',
sqlMessage: "Unknown database 'ches'"
我做错了什么?实例配置中的“DB name”字段是否为空是问题的根源?从屏幕截图可以看出,没有创建默认的DB
DB Name:
-
默认情况下,当您设置RDS时,它不会为您创建数据库。相反,您有一个DB实例,它列在RDS->Databases
下
设置RDS时,您可以使用提供要创建的数据库的名称,例如ches
。如果没有这一点,您将有一个没有实际数据库的DB实例
对于现有rds实例,可以使用
mysql
客户端连接实例,使用标准的create database-ches创建数据库代码>就像在mysql中通常做的那样。是的,这就是问题的根源。如果创建的RDS实例没有默认数据库,则必须在创建后手动创建数据库。这是通过mysql中的创建数据库来完成的。我不明白,这已经是mysql数据库的实例了。它列在RDS>数据库中