0

我正在尝试在需要连接到远程 MySQL 数据库的 Heroku 上部署我的 express 服务器。

我使用了 'heroku config:add DATABASE_URL=mysql://dbusername:dbpassword@databasehostIP:databaseserverport/databasename 和正确的信息,但它仍然尝试通过错误的地址进行连接。

我还使用了带有正确信息的 'heroku config:add EXTERNAL_DATABASE_URL=mysql://dbusername:dbpassword@databasehostIP:databaseserverport/databasename 但它仍然尝试通过错误的地址进行连接。

在“配置变量”部分的“设置”下的 Heroku 应用程序面板中,我看到 DATABASE_URL 和 EXTERNAL_DATABASE_URL 出现了正确的信息。但是在heroku日志中我仍然看到错误的信息

这是我在 express 服务器上的 sequelize 变量:

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 主机地址?

4

1 回答 1

0

尝试使用以下内容设置变量:

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);
}
于 2019-02-16T20:29:14.657 回答