我正在尝试在Heroku上部署我的Express Server,该服务器需要连接到远程MySQL数据库。
我使用了'Heroku config:add database_url = mysql://dbusername:dbpassword@databaseHostip:databaseserverport/databasename具有正确的信息,但仍然尝试通过错误的地址连接。
> >我还使用了'heroku config:添加external_database_url = mysql://dbusername:dbpassword@databaseHostip:databaseserverport/databasename具有正确的信息,但仍然试图通过错误的地址连接。
在" config vars"部分中的"设置"下的Heroku应用程序面板中,我看到database_url和external_database_url出现在正确的信息中。但是在Heroku日志中,我仍然看到错误的信息
这是我在Express Server上的续集变量:
const sequelize = new Sequelize('dbName', 'USER', 'Password', {
host:"hostAddress",
dialect: 'mysql'
}
,但我在Heroku日志上看到以下内容:
2019-02-16T18:31:42.231390+00:00 app[web.1]: Unhandled rejection
SequelizeAccessDeniedError: Access denied for user
'USER'@'ec2-54-162-8-141.compute-1.amazonaws.com' (using
password: YES)
我如何更改'ec2-54-162-8-141.compute-1.amazonaws.com'到远程mysql主机地址?
尝试以这样的内容设置变量:
if (process.env.DATABASE_URL) {
const sequelize = new Sequelize(process.env.DATABASE_URL, {
define: {
freezeTableName: true, // don't make plural table names
underscored: true // don't use camel case
},
dialect: 'mysql',
dialectOptions: {
ssl: true
},
logging: true,
protocol: 'mysql',
quoteIdentifiers: false // set case-insensitive
});
} else {
console.log('Fatal error: DATABASE_URL not set');
process.exit(1);
}