教程之同时安装两个版本的 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 的文件删掉即可
相关推荐
JavaGuide12 小时前
公司来的新人用字符串存储日期,被组长怒怼了...
后端·mysql
怒放吧德德15 小时前
MySQL篇:MySQL主从集群同步延迟问题
后端·mysql·面试
Kagol17 小时前
macOS 和 Windows 操作系统下如何安装和启动 MySQL / Redis 数据库
redis·后端·mysql
Qi妙代码19 小时前
MYSQL基础
数据库·mysql·oracle
llzcxdb19 小时前
【MySQL】理解MySQL的双重缓冲机制:Buffer Pool与Redo Log的协同之道
数据库·mysql
Allen Bright20 小时前
【MySQL基础-20】MySQL条件函数全面解析:提升查询逻辑的利器
数据库·mysql
dleei21 小时前
MySql安装及SQL语句
数据库·后端·mysql
信徒_1 天前
Mysql 在什么样的情况下会产生死锁?
android·数据库·mysql
苹果酱05671 天前
Golang标准库——runtime
java·vue.js·spring boot·mysql·课程设计