windows安装MySQL8
前言
已经安装了Mysql5,并且使用过好几年了,本地一直没有更新MySQL数据库,都是连接远程的。
安装
首先下载mysql8的zip包,解压缩,我下载的是mysql-8.0.28-winx64,放在D:\software\mysql-8.0.28-winx64
在mysql-8.0.28-winx64 目录下创建my.ini文件,然后输入如下内容,
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
basedir="D:/software/mysql-8.0.28-winx64"
datadir="D:/software/mysql-8.0.28-winx64/Data/"
lower_case_table_names=1
如果不在my.ini 中加入大小写不敏感,默认就是大小写敏感,如果是敏感,想改成大小写不敏感,那么就要重新安装了,删data目录,所以还是比较麻烦,就一开始设置大小写不敏感。
lower_case_table_names=1 这是大小写不敏感,否则默认大小写敏感。
配置环境变量,修改以前的MySQL5的配置即可,如下图
配置好后可以mysql -V 看下版本,确保生效了
执行下 mysqld --remove 和 mysqld --install
执行 mysqld --initialize --user=root --console 初始化data目录和用户,密码(下图红线处就是密码)
net start mysql 启动Mysql服务 , 也可以用services.msc到服务界面点击启动,
执行mysql -uroot -p 输入刚才的密码后进入mysql;
注意点
如果是使用的 alter user 'root'@'localhost' identified by 'root' 修改密码的话,那么用navicat 进入后可能会报错,
在navicat 中配置MySQL连接登录后点击测试连接会报错,
出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.
此时用第二种解决方法,使用mysql_native_password生成密码,
所以直接执行 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 修改密码。
进入mysql后,可以看到user表,root用户的密码方式就是mysql_native_password了
*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B 这个就是 root 这个单词