教程之同时安装两个版本的 mysql
下载 mysql 5.7 和 8.0 的压缩包
mysql 官网:www.mysql.com/
- 点击 DOWNLOADS
- 下滑找到 "MySQL Community (GPL) Downloads >>" 并点击
- 进入到如下页面,点击 MySQL Community Server
- 进入到如下页面,点击 Archives
- 在该页面可以下载历史版本,点击 Product Version: 下拉列表,选择版本 8.0.26
- 下载第一个即可
- 然后解压到指定目录(选一个路径专门放 mysql)
- mysql 5.7.37 版本安装同上,只不过下载时下载第二个(看自己是 x64 还是 x32),下载完之后解压到专门放 mysql 的目录下
- 如图就是解压之后的两个版本的 mysql
- 然后就是配置环境变量:此电脑 --- 右击 --- 属性 --- 高级系统设置 --- 环境变量 --- 双击系统变量下面的 Path --- 进去之后新建如下图 --- 将之前解压的两个版本的 mysql 路径下的 bin 目录的路径复制上去(如图所示)
经常用哪个,就先安装哪个
安装第一个 8.0.26
my.ini 的配置
-
不管是哪个版本,点进去之后都是如下图所示,但是没有 my.ini 和 data 这两个
-
先来配置 mysql 8.0.26,因为没有 my.ini,所以在这个 mysql 的目录下新建一个 my.ini 文件,并将下面的代码编辑进去保存
不用自己建 data 文件夹,后面初始化会自动创建
ini
[mysqld]
#端口号
port=3306
#mysql的路径
basedir=D:\develop\mysql-8.0.26-winx64
#mysql的路径+\data
datadir=D:\develop\mysql-8.0.26-winx64\data
#最大连接数
max_connections=200
#编码
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
#编码
default-character-set=utf8
(把里面的 mysql 路径记得换成自己的,然后记得保存)
对 mysql 8.0.26 进行数据库初始化
- 以管理员身份打开命令行窗口,切换到 mysql 路径的 /bin 目录下
-
输入命令
mysqld --initialize --console
,会出现密码(检查是否自动生成data文件,若没有生成请检查配置文件中基本设置的路径是否正确)
- 如果之前操作失败,想要重新获取初始化密码,可删掉 data 文件夹,重新执行该命令即可获得初始化密码
-
安装并开启 mysql8 服务
- 输入命令,服务名称为 mysql8 或者其他,不能默认。(默认是 MYSQL,可能会与后面安装的 mysql5.7 冲突,同时也可以让知晓自己这个 mysql 到底是哪个版本的)
shell## 安装服务 mysqld -install mysql8
- 开启 mysql8 服务,执行命令
net start mysql8
-
登录 mysql8 并修改密码
-
mysql -uroot -p
然后回车 -
将刚才保存的密码复制到此处(复制的话可能不能使用ctrl+v了,这里可以单击鼠标右键,就可以将密码粘贴到此处了)
-
输入命令修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
('123456' 这是自己设置的密码,建议简单一点,不然容易忘)回车,mysql8 的密码修改成功 -
修改完之后,
exit
退出 mysql,可以用新密码重新登录验证一下是否成功
-
-
确认成功之后,
exit
退出 mysql,执行命令net stop mysql8
停掉 mysql8 服务;继续安装第二个版本的 mysql ~~~
安装第二个 5.7.37
my.ini 的配置
-
找到之前解压的 mysql 5.7.37 的文件夹,点进去,新建 my.ini 文件,并将下面的代码复制进去
ini[mysqld] #端口号 port=3307 #mysql的路径 basedir=D:\develop\mysql-5.7.37-winx64 #mysql的路径+\data datadir=D:\develop\mysql-5.7.37-winx64\data #最大连接数 max_connections=200 #编码 character-set-server=utf8 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] #编码 default-character-set=utf8
注意:
- 端口号不再是默认的 3306 了,避免冲突,该版本的 mysql 的端口号为 3307
- 记得将 mysql 的路径换成对应版本的 mysql 5.7.37 的路径
- 记得保存
对 mysql 5.7.37 进行数据库初始化
- 以管理员身份打开命令行窗口,切换到该版本的 mysql 路径的 /bin 目录下
-
输入命令
mysqld --initialize-insecure
回车自动生成 data 文件夹(该命令回车执行之后什么都不会有,这里不会有密码,因为该命令执行完之后启动 mysql 不需要密码)-
如果出现如下错误
这是由于找不到 msvcp120.dll 无法继续执行代码,重新安装程序可能会解决此问题
- 链接: pan.baidu.com/s/1MUhqcOMl... 提取码: 8888
- 直接下载安装,然后重新执行命令查看是否解决
-
-
安装并开启 mysql5 服务
- 输入命令,服务名称为 mysql5 或者其他,建议不要默认。
shell## 安装服务 mysqld -install mysql8
-
这里与安装第一个是有所不同(这个是一定要做的):
- 在电脑下方搜索栏里搜索 "注册表编辑器" --- 点击打开 --- HKEY_LOCAL_MACHINE --- SYSTEM --- ControlSet001(有的可能在ControlSet002里,哪个里面有删哪个里面的)--- Services --- 找到对应的 mysql5
- 看 ImagePath 是否是对应版本的 mysql 的路径(一般都是不对的)
- 不对的话需要修改 --- 双击 ImagePath 修改 "数值数据" bin 前面的路径为自己电脑上该版本 mysql 的路径
-
开启 mysql5 服务,执行命令
net start mysql5
-
登录 mysql5 并修改密码
-
mysql -uroot -P3307
回车;- 此处的
-P3307
是必须写的(因为默认的端口号是 3306,所以这里必须表明端口号为 3307 才能成功登录 mysql5) - P 是大写的(大写的 P 表示的就是端口号)
- 小写的 p 则表示的是 mysql 的密码,这里不需要写,因为之前初始化时所用的命令决定了初次登录 mysql 需不需要写
-p密码
- 此处的
-
修改密码:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
(这里建议把 mysql 所有版本的密码都能成一样的,好记) -
修改完之后,退出重新登录验证一下:
mysql -uroot -P3307 -p
回车,输入密码如123456即可登录-P3307
是必须写的,每次登录该版本的 mysql 都必须指明端口号
-
- 退出 mysql,并停掉对应的服务
到此,两个版本的 mysql 就可以在电脑上共存了~~~
mysql 的使用
如果想用 mysql8(第一个安装的),直接开启对应的服务(建议手动在 "服务" 里开启,不要使用命令行开启,两个 mysql 容易混),然后在命令行窗口执行命令 mysql -uroot -p
回车输入对应的密码即可
如果想用 mysql5(第二个安装的),直接开启对应的服务,然后在命令行窗口执行命令 mysql -uroot -P3307 -p
回车输入对应的密码即可。多输入一个 -P3307
(因为端口号不是默认的,得指明)
删除任一版本的 mysql
推荐使用第 3 条里面写的方法
- 停掉对应的 mysql 版本的服务:右击此电脑 --- 显示更多选项 --- 管理 --- 服务和应用程序 --- 服务 --- 点击名称 --- 英文输入法下按M键 --- 找到对应版本的 mysql 服务 --- 停止
- 在注册表编辑器中删除 mysql 服务:在电脑下方搜索栏里搜索 "注册表编辑器" --- 点击打开 --- HKEY_LOCAL_MACHINE --- SYSTEM --- ControlSet001(有的可能在ControlSet002里,哪个里面有删哪个里面的)--- Services --- 找到对应的 mysql 服务的名称并删掉
- 也可以在停掉 mysql 服务之后直接执行命令
sc delete mysql8
(mysql8 是对应mysql服务的名称)
- 最后把对应版本的 mysql 的文件删掉即可