【Windows 同时安装 MySQL5 和 MySQL8 - 详细图文教程】

卸载 MySQL

参考文章:

  1. 先管理员方式打开 cmd ,切换到 MySQL 安装目录的 bin 文件夹下,执行如下命令,删除 MySQL 服务

    bash 复制代码
    mysqld --remove mysql
  2. 打开控制面板卸载mysql的所有程序【没有跳过此步骤】

  3. 进入 MySQL 安装目录删除 mysql 文件夹

  4. 删除C盘目录下C:\ProgramData中mysql文件夹【没有跳过此步骤】

  5. win+R 打开运行界面输入 regedit ,回车

    • 删除 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 文件夹
    • 删除 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 文件夹
    • 删除 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 文件夹

    第一次可以只删除注册表上述三个信息,如果重装不成功,就要在编辑里查找所有带 mysql 的文件,并全部删除

  6. 环境变量暂时不删,下面安装 MySQL 时就不需要重新编写了

安装 MySQL

  1. 下载
    官网下载需要版本的 MySQL,先解压一个MySQL5版本,稍后安装MySQL8时再解压8.0版本【要不然容易出问题】
  2. 配置环境变量
    • 新建 MySQL 5 和 8 的变量
    • 找到 PATH 变量,新增两个变量的 bin

安装 MySQL5

  1. 创建 my.ini 配置文件

    bash 复制代码
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    port = 3305
    [mysqld]
    # 设置3305端口
    port = 3305
    # 设置mysql的安装目录
    basedir=D:\\mysql\\mysql-5.7.44-winx64
    # 设置mysql数据库的数据的存放目录(自动生成,不然可能报错)
    datadir=D:\\mysql\\mysql-5.7.44-winx64\\data
    # 允许最大连接数
    max_connections=10000
    # 允许最大连接人数
    max_user_connections=1000
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
     
    # 连接时间
    wait_timeout=31536000
    interactive_timeout=31536000
  2. 生成 data 文件夹

    • 管理员方式打开 cmd ,切换到 MySQL5 安装路径下的 bin 文件路径下,输入下述命令,等待生成 data 文件夹

      bash 复制代码
      mysqld --initialize
    • 找到 data 文件夹下的 .err 文件,打开查看生成的临时密码

  3. 安装 MySQL5 服务

    命令行输入如下命令【名字命名为 MYSQL5,指定默认的配置文件为刚才创建的my.ini文件

    bash 复制代码
    mysqld --install MYSQL5 --defaults-file=D:\mysql\mysql-5.7.44-winx64\my.ini
  1. 开启 MySQL5 服务

    命令行输入如下命令

    bash 复制代码
    net start mysql5
  2. 登录 MySQL5 修改密码

    • 登录输入如下命令,密码输入刚刚 .err 文件中的密码

      bash 复制代码
      mysql -u root -P 3305 -h localhost -p
    • 修改密码输入如下命令

      bash 复制代码
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你要设置的密码';
    • 刷新权限输入如下命令

      bash 复制代码
      flush privileges
    • 输入 quit 退出


安装 MySQL8

  1. 创建 my.ini 配置文件

    bash 复制代码
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    port = 3308
    [mysqld]
    # 设置3308端口
    port = 3308
    # 设置mysql的安装目录
    basedir=D:\\mysql\\mysql-8.0.30-winx64
    # 设置mysql数据库的数据的存放目录(自动生成,不然可能报错)
    datadir=D:\\mysql\\mysql-8.0.30-winx64\\data
    # 允许最大连接数
    max_connections=10000
    # 允许最大连接人数
    max_user_connections=1000
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
     
    # 连接时间
    wait_timeout=31536000
    interactive_timeout=31536000
  2. 生成 data 文件夹

    • 管理员方式打开 cmd ,切换到 MySQL8 安装路径下的 bin 文件路径下,输入下述命令,等待生成 data 文件夹

      bash 复制代码
      mysqld --initialize
    • 找到 data 文件夹下的 .err 文件,打开查看生成的临时密码

  3. 安装 MySQL8 服务

    命令行输入如下命令【名字命名为 MYSQL8,指定默认的配置文件为刚才创建的my.ini文件

    bash 复制代码
    mysqld --install MYSQL8 --defaults-file=D:\mysql\mysql-8.0.30-winx64\my.ini
  4. 开启 MySQL8 服务

    命令行输入如下命令

    bash 复制代码
    net start mysql8
  5. 登录 MySQL8 修改密码

    • 登录输入如下命令,密码输入刚刚 .err 文件中的密码

      bash 复制代码
      mysql -u root -P 3308 -h localhost -p
    • 修改密码输入如下命令

      bash 复制代码
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你要设置的密码';
    • 刷新权限输入如下命令

      bash 复制代码
      flush privileges
    • 输入 quit 退出


查看服务

使用 idea 可视化工具可以看到两个数据库均可连接

相关推荐
~黄夫人~42 分钟前
零基础速通|Windows&Linux 常用命令行对照表大全
linux·运维·windows·笔记·备忘录·整理表格
罗超驿1 小时前
22.深入剖析JDBC架构:从原生API到企业级数据交互核心
java·数据库·mysql·面试
Gh0st_Lx1 小时前
【9】面试官:讲一下MySQL 和 Redis 的缓存一致性问题
redis·mysql·缓存
雨辰AI2 小时前
人大金仓 V9 生产级专用监控大盘(含 120 + 指标 + 告警规则 + 一键导入)
java·开发语言·数据库·mysql·政务
还是鼠鼠2 小时前
AI掘金头条新闻系统 (Toutiao News)-用户注册-创建用户
后端·python·mysql·fastapi·web
我是一颗柠檬3 小时前
【MySQL全面教学】MySQL条件查询与排序Day4(2026年)
数据库·后端·mysql
一个人旅程~3 小时前
linux如何“抢”过windows的usb移动硬盘权限对0磁道损坏的移动硬盘进行尝试修复
linux·windows·经验分享·电脑
YL200404264 小时前
MySQL-运维篇-主从复制
运维·数据库·mysql
Wzx1980124 小时前
MySQL什么时候索引失效反而提升效率?
数据库·mysql
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题 第71题】【Mysql篇】第1题:索引是什么?
java·开发语言·b树·mysql·面试