Mysql 使用Sequelize连接到数据库时出错

Mysql 使用Sequelize连接到数据库时出错,mysql,node.js,redis,sequelize.js,Mysql,Node.js,Redis,Sequelize.js,我有一个利用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.co

我有一个利用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数据库。

您确定mysql正在运行吗?你能用MySQL命令行客户端连接到它吗?

你能试试初始化Sequelize的惯用方法吗:

var sequelize = new Sequelize('test_ddb', 'root', 'root')

如果首先没有数据库,通常会导致此错误


在运行Sequelize之前在mysql中创建数据库

是的,命令行客户端可以工作,我可以使用mysql-u root-p test连接到数据库_ddb@Pepijn可能是Sequelize(或者更确切地说,底层MySQL驱动程序)需要使用TCP连接到MySQL,而不是使用Unix域套接字。检查MySQL服务器是否配置为接受TCP连接。