art*_*tze 5 mysql node.js sequelize.js
我收到错误SequelizeConnectionError: connect ETIMEDOUT试图连接到远程MySQL数据库与sequelize时。
当我尝试连接到本地 mysql 数据库时,可以成功建立连接。
我正在使用new Sequelize(...)包含在 models/index.js 中的sequelize 的默认数据库连接代码,具有以下配置(填充了正确的值):
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "mysql"
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用一个简单的 php 脚本连接到远程数据库并且它工作正常(因此我们可以排除远程数据库服务器端的问题)
有任何想法吗?
对我来说,我必须:
1)在本地服务器(Xamp / Mamp)上定义我的数据库的确切信息。这意味着我必须有现有的数据库才能连接,用户名和密码是数据库中的特权帐户。
2) Xamp/Mamp 必须在线(当然)。默认端口将被此本地服务器占用,因此请尝试为 mysql 使用不同的端口8889而不是3306.
这就是我尝试过的:
sequelize = new Sequelize('wohui', 'root', 'root', {
dialect: 'mysql',
host: 'localhost',
port: 8889
});
sequelize
.authenticate()
.then(() => {
console.log('Connection has been established successfully.');
})
.catch((err) => {
console.log('Unable to connect to the database:', err);
});
Run Code Online (Sandbox Code Playgroud)
造成这种情况的原因可能有几个,列出一些我遇到过的,
NODE_ENV=production node server.js。假设server.js是启动文件。您可以尝试记录 before 的值new Sequelize(...),这可能会更好地了解发生的情况。 | 归档时间: |
|
| 查看次数: |
19210 次 |
| 最近记录: |