教程之同时安装两个版本的 mysql

教程之同时安装两个版本的 mysql

下载 mysql 5.7 和 8.0 的压缩包

mysql 官网:www.mysql.com/

  1. 点击 DOWNLOADS
  1. 下滑找到 "MySQL Community (GPL) Downloads >>" 并点击
  1. 进入到如下页面,点击 MySQL Community Server
  1. 进入到如下页面,点击 Archives
  1. 在该页面可以下载历史版本,点击 Product Version: 下拉列表,选择版本 8.0.26
  1. 下载第一个即可
  1. 然后解压到指定目录(选一个路径专门放 mysql)
  2. mysql 5.7.37 版本安装同上,只不过下载时下载第二个(看自己是 x64 还是 x32),下载完之后解压到专门放 mysql 的目录下
  1. 如图就是解压之后的两个版本的 mysql
  1. 然后就是配置环境变量:此电脑 --- 右击 --- 属性 --- 高级系统设置 --- 环境变量 --- 双击系统变量下面的 Path --- 进去之后新建如下图 --- 将之前解压的两个版本的 mysql 路径下的 bin 目录的路径复制上去(如图所示)

经常用哪个,就先安装哪个

安装第一个 8.0.26

my.ini 的配置

  1. 不管是哪个版本,点进去之后都是如下图所示,但是没有 my.ini 和 data 这两个

  2. 先来配置 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 进行数据库初始化

  1. 以管理员身份打开命令行窗口,切换到 mysql 路径的 /bin 目录下
  1. 输入命令 mysqld --initialize --console,会出现密码

    (检查是否自动生成data文件,若没有生成请检查配置文件中基本设置的路径是否正确)

    • 如果之前操作失败,想要重新获取初始化密码,可删掉 data 文件夹,重新执行该命令即可获得初始化密码
  1. 安装并开启 mysql8 服务

    • 输入命令,服务名称为 mysql8 或者其他,不能默认。(默认是 MYSQL,可能会与后面安装的 mysql5.7 冲突,同时也可以让知晓自己这个 mysql 到底是哪个版本的)
    shell 复制代码
    ## 安装服务
    mysqld -install mysql8
    • 开启 mysql8 服务,执行命令 net start mysql8
  2. 登录 mysql8 并修改密码

    • mysql -uroot -p 然后回车

    • 将刚才保存的密码复制到此处(复制的话可能不能使用ctrl+v了,这里可以单击鼠标右键,就可以将密码粘贴到此处了)

    • 输入命令修改密码:

      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; ('123456' 这是自己设置的密码,建议简单一点,不然容易忘)回车,mysql8 的密码修改成功

    • 修改完之后,exit 退出 mysql,可以用新密码重新登录验证一下是否成功

  1. 确认成功之后,exit 退出 mysql,执行命令 net stop mysql8 停掉 mysql8 服务;

    继续安装第二个版本的 mysql ~~~

安装第二个 5.7.37

my.ini 的配置

  1. 找到之前解压的 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 进行数据库初始化

  1. 以管理员身份打开命令行窗口,切换到该版本的 mysql 路径的 /bin 目录下
  1. 输入命令 mysqld --initialize-insecure 回车自动生成 data 文件夹(该命令回车执行之后什么都不会有,这里不会有密码,因为该命令执行完之后启动 mysql 不需要密码)

    • 如果出现如下错误

      这是由于找不到 msvcp120.dll 无法继续执行代码,重新安装程序可能会解决此问题

  2. 安装并开启 mysql5 服务

    • 输入命令,服务名称为 mysql5 或者其他,建议不要默认。
    shell 复制代码
    ## 安装服务
    mysqld -install mysql8
    • 这里与安装第一个是有所不同(这个是一定要做的):

      • 在电脑下方搜索栏里搜索 "注册表编辑器" --- 点击打开 --- HKEY_LOCAL_MACHINE --- SYSTEM --- ControlSet001(有的可能在ControlSet002里,哪个里面有删哪个里面的)--- Services --- 找到对应的 mysql5
      • ImagePath 是否是对应版本的 mysql 的路径(一般都是不对的)
      • 不对的话需要修改 --- 双击 ImagePath 修改 "数值数据" bin 前面的路径为自己电脑上该版本 mysql 的路径
    • 开启 mysql5 服务,执行命令 net start mysql5

  3. 登录 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 都必须指明端口号
  1. 退出 mysql,并停掉对应的服务

到此,两个版本的 mysql 就可以在电脑上共存了~~~

mysql 的使用

如果想用 mysql8(第一个安装的),直接开启对应的服务(建议手动在 "服务" 里开启,不要使用命令行开启,两个 mysql 容易混),然后在命令行窗口执行命令 mysql -uroot -p 回车输入对应的密码即可

如果想用 mysql5(第二个安装的),直接开启对应的服务,然后在命令行窗口执行命令 mysql -uroot -P3307 -p 回车输入对应的密码即可。多输入一个 -P3307(因为端口号不是默认的,得指明)

删除任一版本的 mysql

推荐使用第 3 条里面写的方法

  1. 停掉对应的 mysql 版本的服务:右击此电脑 --- 显示更多选项 --- 管理 --- 服务和应用程序 --- 服务 --- 点击名称 --- 英文输入法下按M键 --- 找到对应版本的 mysql 服务 --- 停止
  2. 在注册表编辑器中删除 mysql 服务:在电脑下方搜索栏里搜索 "注册表编辑器" --- 点击打开 --- HKEY_LOCAL_MACHINE --- SYSTEM --- ControlSet001(有的可能在ControlSet002里,哪个里面有删哪个里面的)--- Services --- 找到对应的 mysql 服务的名称并删掉
  3. 也可以在停掉 mysql 服务之后直接执行命令 sc delete mysql8(mysql8 是对应mysql服务的名称)
  1. 最后把对应版本的 mysql 的文件删掉即可
相关推荐
Fleshy数模8 小时前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
az44yao9 小时前
mysql 创建事件 每天17点执行一个存储过程
mysql
秦老师Q10 小时前
php入门教程(超详细,一篇就够了!!!)
开发语言·mysql·php·db
橘子1311 小时前
MySQL用户管理(十三)
数据库·mysql
Dxy123931021611 小时前
MySQL如何加唯一索引
android·数据库·mysql
我真的是大笨蛋11 小时前
深度解析InnoDB如何保障Buffer与磁盘数据一致性
java·数据库·sql·mysql·性能优化
怣5011 小时前
MySQL数据检索入门:从零开始学SELECT查询
数据库·mysql
人道领域12 小时前
javaWeb从入门到进阶(SpringBoot事务管理及AOP)
java·数据库·mysql
千寻技术帮13 小时前
10404_基于Web的校园网络安全防御系统
网络·mysql·安全·web安全·springboot
spencer_tseng14 小时前
MySQL table backup
mysql