我将Sequelize用作节点js应用程序和Mysql数据库的ORM, 在遵循了一些教程之后,我添加了这段代码以将mysql连接到节点,但是在点击npm后,我得到了这个错误: 无法连接到数据库:{SequelizeConnectionRefusedError:连接ECONNREFUSED 127.0.0.1:3306
const Sequelize = require('sequelize');
// Option 1: Passing parameters separately
const sequelize = new Sequelize('Education', 'root','', {
host: '127.0.0.1',
dialect: 'mysql'
} );
//test db
sequelize
.authenticate()
.then(() => {
console.log('Connection has been established successfully.');
})
.catch(err => {
console.error('Unable to connect to the database:', err);
});
答案 0 :(得分:0)
如果你在 windows 上运行 XAMMP 服务器,首先用 MySQL 启动 apache 服务器
您收到此错误可能是因为您的服务器没有运行。
检查您的服务器并在必要时重新启动。
答案 1 :(得分:0)
重启mysql服务器即可。
Linux 和 Mac:
<块引用>服务mysql重启
视窗:
使用Windows+R 键盘打开运行 窗口。 其次,输入 services.msc 并按 Enter: 找到 mysql 并重启服务。
答案 2 :(得分:0)
在方言选项中添加socketPath
示例代码片段:
// Option 1: Passing parameters separately
const sequelize = new Sequelize('Education', 'root', '', {
host: '127.0.0.1',
dialect: 'mysql',
dialectOptions: {
socketPath: '/Applications/MAMP/tmp/mysql/mysql.sock'
}
});
答案 3 :(得分:-1)
问题已解决,我在phpMyadmin中使用端口3307而不是3306
答案 4 :(得分:-1)
我已删除端口选项,问题已解决。
const sequelize = new Sequelize('dbname', 'dbuser', 'pass', {
dialect: 'mysql',
host: "127.0.0.1",
operatorAlias:false,
logging:false,
pool: {
max: 5,
idle: 30000,
acquire: 60000,
},
})