【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 可视化工具可以看到两个数据库均可连接

相关推荐
灵晔君5 分钟前
【MySQL】库的操作
数据库·mysql
2501_9159090631 分钟前
Windows 打开 Xcode 工程,编译调试 Xcode 项目并和 Mac 同事协作
ide·windows·vscode·macos·ios·个人开发·xcode
2603_9696948540 分钟前
【MySQL学习笔记】DQL(基础查询/条件/聚合/分组/排序/分页)与 DCL(用户权限)全解析
数据库·笔记·学习·mysql·学习方法
pikapika~~~1 小时前
Mysql+Redis八股
数据库·redis·mysql
vortex51 小时前
Windows Server IIS 运维配置指南:架构、身份、安全与排障
运维·windows·架构
小此方11 小时前
Re:Mysql数据库基础篇(八):详细讲解复合查询、多表查询、自连接、多行、多列子查询与合并查询
数据库·mysql
smile_life_11 小时前
MySQL 设置 防止账户被暴力破解
数据库·mysql
滕州市燕猫虎计算机科技工作室个体工商户12 小时前
MySQL、MVCC、多版本并发控制
数据库·mysql·mvcc·数据库事务
Decay__14 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构
太理摆烂哥14 小时前
MySQL用户管理
数据库·mysql