我有一个利用npm包mysql,Sequelize和redis的项目。
以下情况很顺利:
app.use(express.session({
store: new RedisStore({
host: 'localhost',
port: 6379,
db: 2,
pass: 'RedisPASS'
}),
secret: 'secret' // changed this value of course
}));
然后:
Sequelize.connection = new Sequelize('test_ddb',
'root', 'root', { logging: false });
会引发以下错误:
Error: ER_BAD_DB_ERROR: Unknown database 'test_ddb'
我尝试了几件事,首先我认为Sequelize没有连接到MAMP的mysql而是连接到我系统的mysql,但我已经设置了所有的符号链接。像这样:
/var/mysql/mysql.sock -> /Applications/MAMP/tmp/mysql/mysql.sock
我甚至在这里改变了它:
/usr/local/mysql/bin/mysql -> /Applications/MAMP/Library/bin/mysql
终端中的mysql命令也使用MAMP数据库。
答案 0 :(得分:0)
你确定MySQL正在运行吗?你能用MySQL命令行客户端连接到它吗?
答案 1 :(得分:0)
你能尝试初始化Sequelize的惯用方法:
var sequelize = new Sequelize('test_ddb', 'root', 'root')
答案 2 :(得分:0)
如果首先没有数据库,通常会导致此错误。
在运行Sequelize之前,在mysql中 CREATE DATABASE
。