windows如何同时安装两个不同版本的Mysql(Mysql8.0+Mysql5.7)

之前研究python的时候玩了一下mysql,然后最近研究node的时候发现需要用到数据库,发现一直报错,网上的各种方法也试过了,最后怀疑是mysql版本的问题,于是就尝试在电脑上再装一个版本的mysql,原来的mysql使用的是mysql-8.0.22-winx64版本的,现在考虑再安装一个mysql-5.7.35-winx64版本的,mysql下载地址戳 这里

1、下载解压

下载完成之后解压就行(这个路径不要和之前那个版本的路径重复)

image.png

点击进入解压后的文件夹,需要新建 data 文件夹和 mysql.ini 文件

image.png

其中 mysql.ini 需要填入以下内容,当然你也可以从已有的版本去复制添加,data 就为空文件夹就行

[mysql]

# 设置mysql客户端默认字符集
default-character-set=utf8 

[mysqld]
skip_grant_tables
#设置3307端口 与之前的3306接口不重复
port = 3307 
default_authentication_plugin=mysql_native_password

# 设置mysql的安装目录(你自己安装mysql的目录)
basedir=D:\\softLoad\\mysql_sql57\\mysql-5.7.35-winx64

# 设置mysql数据库的数据的存放目录
datadir=D:\\softLoad\\mysql_sql57\\mysql-5.7.35-winx64\\data

# 允许最大连接数
max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

2、配置环境变量

将mysql5.7版本安装的bin路径添加到环境变量中去

image.png

3、关闭原来的mysql服务

关闭原来的mysql服务(原来的是mysql8.0)

此电脑=>右键=>管理=>服务和应用程序=>服务=>找到原来版本的mysql停掉

image.png

重点来了!重点来了!重点来了!

upload-images.jianshu.jfif

按照网上的做法

管理员身份打开黑窗口(CMD),切换到mysql8安装目录的bin目录下执行(以下所有的命令都必须是以管理员身份打开的cmd

先执行

mysqld --initialize --console

拿到root的初始密码:

image.png

再执行

mysqld --install MYSQL3307

没任何毛病,如丝般顺滑

image.png

但是当我使用 Navicat 去连接的时候连不上了,what???

去刚刚的服务路径下查看

此电脑=>右键=>管理=>服务和应用程序=>服务=>MYSQL57发现这个路径使用的居然是8.0版本的路径,所以肯定是有问题的了

image.png

4、正确安装

所以刚刚那一步正确的做法应该是去bin路径下执行下面的代码

mysqld --defaults-file=D:\softLoad\mysql_sql57\mysql-5.7.35-winx64\mysql.ini --initialize --console

执行完成之后会有一个root的初始密码

image.png

修改注册表中mysql57的路径
win+R 输入regedit 之后找到路径

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL57

image.png

修改ImagePath,把值改成:

"D:\softLoad\mysql_sql57\mysql-5.7.35-winx64\bin\mysqld" --defaults-file=D:\softLoad\mysql_sql57\mysql-5.7.35-winx64\mysql.ini MySQL57

然后再执行bin下面的启动命令

你以为结束了???想多了,又报错了

image.png

查看系统报错提示:
# InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibaredata1

image.png

解决办法就是删掉我们刚刚建的data文件夹,网上说是高版本的数据库安装的时候生成的一些数据影响到低版本的安装

删掉之后重新net start MYSQL57就成功了

image.png

当我以为一切都结束的时候,Navicat连接又报错了

image.png

继续填坑

登录mysql(命令行输入mysql -uroot -P3307 + 刚生成的那个root的初始密码登录),

登录进去后,执行命令下面的命令

set global show_compatibility_56=on;

image.png

这个时候重新再连接就好了,修改密码啥的网上都有,这里就不重复了

(\ _ /)
( * . *)
/>❤️


版权声明:本文为MissRen920原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。