最近在搭建基于Nest的Web API的项目,需要用到数据库,于是在我的本机win10上装MySQL,本以为是件很简单的事情,却是遇到各种问题,所以记录下,方便后期问题排查。
1 下载
首先下载安装包
https://dev.mysql.com/downloads/mysql/

我下载的是Windows (x86, 64-bit), ZIP Archive,主要是网不好,下载慢,所以选择第一个,

下载的是个zip压缩包,解压文件到你需要存放的目录,我这里是D盘,目录中不要有中文,

2 配置环境变量
计算机,鼠标右键,选择属性

3 安装MySQL
这一步网上很多教程说是要新建my.ini文件,实际上不新建也可以。cmd必须是以管理员身份运行
mysqld -- initialize --console,mysqld --install
启动服务
net start mysql

这时服务已正常启动,
4 连接数据库管理工具
navicat连接本地数据库,此时应该会报错
原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,navicate驱动目前不支持新加密规则,所以需要更改加密规则。
命令行连接MySQL
mysql -u root -p
由于是第一次登录,所以是不需要密码的,之后在更改。选择数据库
use mysql;
更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
顺便把密码设置
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
刷新权限
FLUSH PRIVILEGES;
重新连接
正文完