目录
本机已经有了一个MySQL5.7,再安装一个最新的MySQL8.0.28,最终结果如图所示:
下载MySQL8.0.28
下载地址:MySQL官网下载地址
下载Windows免安装版(.zip压缩文件),如下图所示:
解压MySQL8.0.28
将下载好的压缩包解压到D:\software\MySQL8,路径自定义,但是路径中尽量不要带空格或中文。
配置环境变量
在系统变量和用户变量Path下添加 D:\software\MySQL8\mysql-8.0.28-winx64\bin,目的是为了避免在CMD窗口下操作时反复切换路径,可以选择不配置。

新建data文件夹和my.ini配置文件
目录下新建一个data文件夹(空的即可)和配置文件my.ini
在my.ini中添加一些参数:
[mysqld]
# 设置3307端口(原先的mysql5已经占用3306)
port=3307
# 设置mysql的安装目录(你自己的目录)
basedir="D:\\software\\MySQL8\\mysql-8.0.28-winx64"
# 设置mysql数据库的数据的存放目录
datadir="D:\\software\\MySQL8\\mysql-8.0.28-winx64\\data"
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8
停止原先的MySQL57服务
我的电脑右键–管理–服务和应用程序–服务–停止MySQL57服务
安装及初始化mysql服务
以管理员身份打开黑窗口(CMD),切换到MySQL8安装目录的bin文件夹(D:\software\MySQL8\mysql-8.0.28-winx64\bin)下执行 :
mysql初始化
mysqld --initialize --console
①报错:找不到VCRUNTIME140_1.dll,无法继续执行代码
原因是:新版mysql现在需要最新的Visual C++ Redistributable for Visual Studio
下载链接:https://pan.baidu.com/s/1gBgg97Ytb8siZS860PELMg
提取码:8yin
②报错:
mysqld: Can't create directory 'D: oftware\MySQL8\mysql-8.0.28-winx64\data\' (OS errno 2 - No such file or directory)
原因是:my.ini配置文件中的路径没有使用双引号和双斜杠
将
basedir=D:\software\MySQL8\mysql-8.0.28-winx64
datadir=D:\software\MySQL8\mysql-8.0.28-winx64\data
改为(上面的my.ini参数已经是改对的)
basedir="D:\\software\\MySQL8\\mysql-8.0.28-winx64"
datadir="D:\\software\\MySQL8\\mysql-8.0.28-winx64\\data"
注意!执行结束后输出结果里面有一段:
2022-02-07T06:37:25.407299Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Ier6K&Q%oc!A
其中root@localhost:后面的"Ier6K&Q%oc!A" 就是初始密码(不含首位空格)。
在没有更改密码前,需要记住这个密码,首次登录需要用到。
可以先复制到某个文本中先保存下来.
安装mysql服务
mysqld --install MySQL8
MySQL8是自己取的服务名字,可以自己定义名字,与原先的mysql服务不一样即可.
③报错:
Install/Remove of the Service Denied!
原因是:没有权限,需要使用管理员身份运行cmd
启动mysql服务
net start MySQL8
(net stop MySQL8 是停止服务,sc delete MySQL8是删除服务)
修改mysql配置
以管理员身份打开黑窗口(CMD),切换到MySQL8安装目录的bin文件夹(D:\software\MySQL8\mysql-8.0.28-winx64\bin)下执行 :
修改密码
①使用root登陆mysql
mysql -u root -p
②输入mysql初始化步骤得到的密码:Ier6K&Q%oc!A
③将root用户的密码修改为root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
给root授权通过ip访问
①查看user相关信息
show databases;
use mysql;
show tables;
select user,host,authentication_string from mysql.user;
这里root只能通过localhost 访问
mysql> select user,host,authentication_string from mysql.user;
+------------------+-----------+------------------------------------------------------------------------+
| user | host | authentication_string |
+------------------+-----------+------------------------------------------------------------------------+
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+------------------+-----------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
②设置用户root 能通过所有ip访问
update mysql.user set host='%' where user='root' ;
Navicat连接测试

参考文献
1.MySQL 8.0.27 下载、安装与配置 超详细教程(Windows64位)
2.Win10安装两个不同版本MySQL数据库(一个5.7,一个8.0.17)
3.在windows上安装不同(两个)版本的Mysql数据库
4.安装mysql8.0.20,报错“找不到VCRUNTIME140_1.dll”
5.MySQL8安装报错Can’t create directory解决