问题描述1
2020-05-08 15:13:22,078 ERROR 20006 [ - 127.0.0.1 - 0ms GET / - ] nodejs.ER_BAD_DB_ERRORError: ER_BAD_DB_ERROR: Unknown database 'car_fe:web_performance'
at Handshake.Sequence._packetToError (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
at Handshake.ErrorPacket (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/protocol/sequences/Handshake.js:123:18)
at Protocol._parsePacket (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/protocol/Protocol.js:291:23)
at Parser._parsePacket (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/protocol/Parser.js:433:10)
at Parser.write (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/protocol/Parser.js:43:10)
at Protocol.write (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/protocol/Protocol.js:38:16)
at Socket.<anonymous> (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/Connection.js:88:28)
at Socket.<anonymous> (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/Connection.js:526:10)
at Socket.emit (events.js:210:5)
at addChunk (_stream_readable.js:309:12)
--------------------
at Protocol._enqueue (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/protocol/Protocol.js:144:48)
at Protocol.handshake (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/protocol/Protocol.js:51:23)
at PoolConnection.connect (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/Connection.js:116:18)
at Pool.getConnection (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/Pool.js:48:16)
at /Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/pify/index.js:29:7
at new Promise (<anonymous>)
at Pool.<anonymous> (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/pify/index.js:12:10)
at Pool.ret [as getConnection] (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/pify/index.js:56:34)
at Pool.query (/Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/mysql/lib/Pool.js:202:8)
at /Users/linjin/Desktop/web_performance/node_web_performance/server/node_modules/pify/index.js:29:7
sql: select now() as currentTime;
code: "ER_BAD_DB_ERROR"
errno: 1049
sqlMessage: "Unknown database 'car_fe:web_performance'"
sqlState: "42000"
fatal: true
name: "ER_BAD_DB_ERRORError"
pid: 20006
问题分析
导致这个错误的原因是,目前,最新的mysql模块并未完全支持MySQL 8的“caching_sha2_password”加密方式,而“caching_sha2_password”在MySQL 8中是默认的加密方式。
因此,下面的方式命令是默认已经使用了“caching_sha2_password”加密方式,该账号、密码无法在mysql模块中使用。
解决方案
cd /usr/local/mysql/lib/
mysql
./mysql -uroot -p
-
输入mysql密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
EXIT;
问题描述2
Mac OS zsh: command not found: mysql
解决方案
cd ~
vim ~/.bashrc
3.添加下面内容
alias mysql=/usr/local/mysql/bin/mysql
:wq
source ~/.bashrc