从网上下载了一个电商后台管理项目的代码,是一个前后端分离的项目,前端使用Vue3,后端是Node.js+MySQL,由于第一次接触MySQL数据库,踩了不少坑,下面是记录。
首先下载了后端API接口的源码,之后
npm install
node app.js
但是报错Error: connect ECONNREFUSED 127.0.0.1:3306(第一次报错)
应该是没有开启MySQL服务器造成的
然后我下载了MySQL 8.0(最新版)
先用管理员权限打开命令行窗口(win+R->cmd->Ctrl+Shift+Enter),进入MySQL文件夹下面的bin文件夹
输入命令net start mysql
显示服务名无效,因为MySQL服务还没有安装
输入命令mysqld.exe -install
显示Service successfully installed表示安装成功
这时再启动执行net start mysql启动MySQL服务
之后启动node服务 node app.js
报错Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
at Handshake.Sequence._packetToError(第二次机报错)
网上查过之后,说是MySQL版本问题
解决办法如图
在命令行中输入 mysql -u root -p
接着输入
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
这里的root是我的mysql的密码,改成自己的即可
之后启动node服务 node app.js
报错Error: ER_BAD_DB_ERROR: Unknown database 'mydb'(第三次报错)
这时需要创建一个名为mydb的数据库
再次启动node服务,正常启动
另外
卸载mysql服务的方法。
1、以管理员的权限 net stop mysql ,关闭mysql服务
2、以管理员的权限 mysqld -remove ,卸载mysql服务