根目录启动一直报错SequelizeConnectionError: Unknown database 'boblog'
初学不太懂 SequelizeConnectionError: Unknown database 'boblog' at Promise.tap.then.catch.err (E:\nodeJs\project\boblog\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:133:19) at tryCatcher (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\util.js:16:23) at Promise._settlePromiseFromHandler (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\promise.js:547:31) at Promise._settlePromise (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\promise.js:604:18) at Promise._settlePromise0 (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\promise.js:649:10) at Promise._settlePromises (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\promise.js:725:18) at _drainQueueStep (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\async.js:93:12) at _drainQueue (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\async.js:86:9) at Async._drainQueues (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\async.js:102:5) at Immediate.Async.drainQueues [as _onImmediate] (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\async.js:15:14) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5)
初学不太懂 SequelizeConnectionError: Unknown database 'boblog' at Promise.tap.then.catch.err (E:\nodeJs\project\boblog\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:133:19) at tryCatcher (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\util.js:16:23) at Promise._settlePromiseFromHandler (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\promise.js:547:31) at Promise._settlePromise (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\promise.js:604:18) at Promise._settlePromise0 (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\promise.js:649:10) at Promise._settlePromises (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\promise.js:725:18) at _drainQueueStep (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\async.js:93:12) at _drainQueue (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\async.js:86:9) at Async._drainQueues (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\async.js:102:5) at Immediate.Async.drainQueues [as _onImmediate] (E:\nodeJs\project\boblog\node_modules\bluebird\js\release\async.js:15:14) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5)
你好,欢迎学习,你看文档,你需要在本地新建好 boblog 数据库。
数据库
启动项目前一定要在创建好 boblog 数据库,以下是执行数据库命令:
登录数据库
$ mysql -uroot -p密码
创建 boblog 数据库
$ CREATE DATABASE IF NOT EXISTS boblog DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
是的,我也按照这样执行了,还是不行,我又重启了电脑重新打开,还是不行
我另外命名一个数据库名也是同样的问题,一直找不到啥原因
我另外命名一个数据库名也是同样的问题,一直找不到啥原因
- 首先,你登上本地数据库,查看是否真的已创建好 boblog 数据库?
- 然后,你检查一下你的 config/config.js 文件里面的 password 密码是否与你本地数据库的密码一致?
- 最后都不行的话,可以删掉数据库,再重新执行。
是不是数据库版本不一样,连接方式也不一样,我使用sql 命令是可以连接数据库的,也能查到数据库,但是在程序就是连接不上,我的数据库是5.7的
是不是数据库版本不一样,连接方式也不一样,我使用sql 命令是可以连接数据库的,也能查到数据库,但是在程序就是连接不上,我的数据库是5.7的
你有安装 Redis 么?
安装了,如果我不启动redis的话,启动程序会报没有启动redis 错误,现在明显不是这个错误
我把错误打印出来错误码是1049 Unable to connect to the database: { SequelizeConnectionError: Unknown database 'boblog' at Promise.tap.then.catch.err (E:\nodeJs\project\boblog1\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:133:19) at tryCatcher (E:\nodeJs\project\boblog1\node_modules\bluebird\js\release\util.js:16:23) at Promise._settlePromiseFromHandler (E:\nodeJs\project\boblog1\node_modules\bluebird\js\release\promise.js:547:31) at Promise._settlePromise (E:\nodeJs\project\boblog1\node_modules\bluebird\js\release\promise.js:604:18) at Promise._settlePromise0 (E:\nodeJs\project\boblog1\node_modules\bluebird\js\release\promise.js:649:10) at Promise._settlePromises (E:\nodeJs\project\boblog1\node_modules\bluebird\js\release\promise.js:725:18) at _drainQueueStep (E:\nodeJs\project\boblog1\node_modules\bluebird\js\release\async.js:93:12) at _drainQueue (E:\nodeJs\project\boblog1\node_modules\bluebird\js\release\async.js:86:9) at Async._drainQueues (E:\nodeJs\project\boblog1\node_modules\bluebird\js\release\async.js:102:5) at Immediate.Async.drainQueues [as _onImmediate] (E:\nodeJs\project\boblog1\node_modules\bluebird\js\release\async.js:15:14) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) name: 'SequelizeConnectionError', parent: { Error: Unknown database 'boblog' at Packet.asError (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\packets\packet.js:684:17) at ClientHandshake.execute (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\commands\command.js:28:26) at Connection.handlePacket (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\connection.js:449:32) at PacketParser.Connection.packetParser.p [as onPacket] (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\connection.js:72:12) at PacketParser.executeStart (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\packet_parser.js:75:16) at Socket.Connection.stream.on.data (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\connection.js:79:25) at Socket.emit (events.js:189:13) at addChunk (_stream_readable.js:284:12) at readableAddChunk (_stream_readable.js:265:11) at Socket.Readable.push (_stream_readable.js:220:10) at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17) code: 'ER_BAD_DB_ERROR', errno: 1049, sqlState: '42000', sqlMessage: 'Unknown database 'boblog'' }, original: { Error: Unknown database 'boblog' at Packet.asError (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\packets\packet.js:684:17) at ClientHandshake.execute (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\commands\command.js:28:26) at Connection.handlePacket (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\connection.js:449:32) at PacketParser.Connection.packetParser.p [as onPacket] (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\connection.js:72:12) at PacketParser.executeStart (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\packet_parser.js:75:16) at Socket.Connection.stream.on.data (E:\nodeJs\project\boblog1\node_modules\mysql2\lib\connection.js:79:25) at Socket.emit (events.js:189:13) at addChunk (_stream_readable.js:284:12) at readableAddChunk (_stream_readable.js:265:11) at Socket.Readable.push (_stream_readable.js:220:10) at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17) code: 'ER_BAD_DB_ERROR', errno: 1049, sqlState: '42000', sqlMessage: 'Unknown database 'boblog'' } }
sqlMessage: 'Unknown database 'boblog'
你进入命令行工具里面输入 show databases;发出来看看,看下是否真的存在这个 数据库
C:\Users\win10>mysql -uroot -proot mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 5.7.17-log MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases -> ; +--------------------+ | Database | +--------------------+ | information_schema | | boblog | | boblogdata | | demo | | express_admin | | expressdb | | mysql | | performance_schema | | shcool_z | | sys | | wechatstudy | +--------------------+ 11 rows in set (0.00 sec)
show databases; 发
C:\Users\win10>mysql -uroot -proot mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 5.7.17-log MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases -> ; +--------------------+ | Database | +--------------------+ | information_schema | | boblog | | boblogdata | | demo | | express_admin | | expressdb | | mysql | | performance_schema | | shcool_z | | sys | | wechatstudy | +--------------------+ 11 rows in set (0.00 sec)
试下在 https://github.com/LFB/nodejs-koa-blog/blob/master/core/db.js 文件下,修改:
sequelize.sync({force: true})
改了,同样的问题,我现在都不用 config.js 直接使用 db.js 连接
const sequelize = new Sequelize('boblog', 'root', 'root', {
dialect: 'mysql',
host:'localhost',
port:'3306',
logging: false,
timezone: '+08:00',
define: {
// create_time && update_time
timestamps: true,
// delete_time
paranoid: true,
createdAt: 'created_at',
updatedAt: 'updated_at',
deletedAt: 'deleted_at',
// 把驼峰命名转换为下划线
underscored: true,
scopes: {
bh: {
attributes: {
exclude: ['password', 'updated_at', 'deleted_at', 'created_at']
}
},
iv: {
attributes: {
exclude: ['content', 'password', 'updated_at', 'deleted_at']
}
}
}
}
})
// 创建模型
sequelize.sync({force: true})
sequelize
.authenticate()
.then(() => {
console.log('Connection has been established successfully.')
})
.catch(err => {
console.error('Unable to connect to the database:', err)
})
module.exports = {
sequelize
}
改了,同样的问题,我现在都不用 config.js 直接使用 db.js 连接
const sequelize = new Sequelize('boblog', 'root', 'root', { dialect: 'mysql', host:'localhost', port:'3306', logging: false, timezone: '+08:00', define: { // create_time && update_time timestamps: true, // delete_time paranoid: true, createdAt: 'created_at', updatedAt: 'updated_at', deletedAt: 'deleted_at', // 把驼峰命名转换为下划线 underscored: true, scopes: { bh: { attributes: { exclude: ['password', 'updated_at', 'deleted_at', 'created_at'] } }, iv: { attributes: { exclude: ['content', 'password', 'updated_at', 'deleted_at'] } } } } }) // 创建模型 sequelize.sync({force: true}) sequelize .authenticate() .then(() => { console.log('Connection has been established successfully.') }) .catch(err => { console.error('Unable to connect to the database:', err) }) module.exports = { sequelize }
可以换个密码吗?
谢谢您,是我电脑上有两个sql 服务,端口被占用了,一直连接到另外一个数据库
谢谢您,是我电脑上有两个sql 服务,端口被占用了,一直连接到另外一个数据库
不用客气,加油:)