当前位置: 首页 > news >正文

windows 安装mysql(多个版本同时安装)

在 Windows 系统中安装多个 MySQL 版本的核心是 避免端口冲突、配置独立目录、注册独立服务,以下是详细的分步教程(以安装 MySQL 5.7 和 MySQL 8.0 为例,其他版本流程一致):

一、准备工作

  1. 下载对应版本的 MySQL 安装包
    推荐下载 ZIP 免安装版(无需卸载,配置灵活),官网地址:
    MySQL 历史版本下载
    选择对应版本(如 5.7.42、8.0.42)、操作系统(Windows)、位数(x86_64),下载 ZIP 包。

  2. 环境要求

    • 关闭已安装的 MySQL 服务(若有):cmd 中执行 net stop mysql(若服务名不同,需替换)。
    • 确保端口不冲突(默认 3306,第二个版本需用 3307 等未占用端口)。
    • 解压路径建议 无中文、无空格(如 D:\tool\mysql\mysql-8.0.42、D:\tool\mysql\mysql-5.7.42`)。

二、安装第一个 MySQL 版本(以 5.7 为例)

步骤 1:解压并创建配置文件
  1. 将 MySQL 5.7 的 ZIP 包解压到目标路径(如 D:\tool\mysql\mysql-5.7.42)。
  2. 在解压目录下 新建 my.ini 配置文件(复制以下内容,根据实际路径修改):
    [mysqld]
    # 端口(第一个版本用默认 3306)
    port=3306
    # 安装目录(解压后的路径)
    basedir=D:\tool\mysql\mysql-5.7.42
    # 数据存储目录(手动创建 data 文件夹,或让初始化自动生成)
    datadir=D:\tool\mysql\mysql-5.7.42\data
    # 字符集(默认 utf8mb4,兼容 emoji)
    character-set-server=utf8mb4
    # 排序规则
    collation-server=utf8mb4_general_ci
    # 允许最大连接数
    max_connections=1000
    # 跳过密码验证(初始化后可删除)
    skip-grant-tables[mysql]
    # 客户端字符集
    default-character-set=utf8mb4
    
步骤 2:初始化 MySQL 并安装服务
  1. 管理员身份打开 cmd(重要!否则无权限安装服务)。

  2. 切换到 MySQL 5.7 的 bin 目录:

    cd /d D:\tool\mysql\mysql-5.7.42\bin
    
  3. 初始化数据库(生成 data 目录和临时密码,5.7 需此步骤,8.0 可省略但建议执行):

    mysqld --initialize-insecure --user=mysql
    
    • --initialize-insecure:无密码初始化(后续手动设密码)。
    • 执行成功后,解压目录会自动生成 data 文件夹。
  4. 安装 MySQL 服务(服务名需唯一,如 MySQL57):

    mysqld --install MySQL5.7.42 --defaults-file="D:\tool\mysql\mysql-5.7.42\my.ini"
    
    • 提示 Service successfully installed 表示服务安装成功。
  5. 启动服务:

    net start MySQL5,7.42
    
步骤 3:设置 root 密码
  1. 连接 MySQL(因配置了 skip-grant-tables,无需密码):
    mysql -u root -P 3306
    
  2. 执行 SQL 重置密码(替换 123456 为你的密码):
    USE mysql;
    -- MySQL 5.7 密码字段是 authentication_string
    UPDATE user SET authentication_string=PASSWORD('123456') WHERE user='root';
    FLUSH PRIVILEGES;
    EXIT;
    
  3. 编辑 my.ini,删除 skip-grant-tables 一行,重启服务:
    net stop MySQL5.7.42
    net start MySQL5.7.42
    
  4. 验证连接:
    mysql -u root -p123456 -P 3306
    
    能进入 MySQL 命令行则表示第一个版本安装成功。

三、安装第二个 MySQL 版本(以 8.0 为例)

步骤 1:解压并创建独立配置文件
  1. 将 MySQL 8.0 的 ZIP 包解压到 不同目录(如 D:\Program Files\MySQL\mysql-8.0.42)。
  2. 在解压目录下新建 my.ini,核心修改 端口、目录、服务名(避免冲突):
[mysqld]
# 1. 明确指定端口(必须非 0,且未被占用,如 3307/3308)
port=3308
# 2. 启用 TCP/IP 协议(Windows 必需,否则无法监听连接)
skip_networking=0
# 3. 绑定本地地址(允许本地连接,也可改为 0.0.0.0 允许远程连接)
bind-address=127.0.0.1
# 4. 安装目录(你的实际路径,双反斜杠或单斜杠)
basedir=D:\\tool\\mysql\\mysql-8.0.42
# 5. 数据目录(独立目录,无中文/空格)
datadir=D:\\tool\\mysql\\mysql-8.0.42\\data
# 6. 字符集配置
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
max_connections=1000
# 7. 可选:启用共享内存(Windows 辅助连接,避免协议缺失)
shared-memory=1
shared-memory-base-name=MySQL80[mysql]
default-character-set=utf8mb4
步骤 2:初始化并安装独立服务
  1. 管理员 cmd 切换到 8.0 的 bin 目录:
    cd /d D:\Program Files\MySQL\mysql-8.0.42\bin
    
  2. 初始化数据库:
    mysqld --initialize-insecure --user=mysql
    
  3. 安装服务(服务名必须唯一,如 MySQL80):
    mysqld --install MySQL8.0.42 --defaults-file="D:\Program Files\MySQL\mysql-8.0.42\my.ini"
    
  4. 启动服务:
    net start MySQL8.0.42
    
步骤 3:设置 8.0 的 root 密码
  1. 连接 8.0(指定端口 3308):
    mysql -u root -P 3308
    
  2. 重置密码(MySQL 8.0 密码字段是 authentication_string,且不支持 PASSWORD() 函数):
    USE mysql;
    -- 8.0 需用 ALTER 语句设密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
    FLUSH PRIVILEGES;
    EXIT;
    
  3. 编辑 8.0 的 my.ini,删除 skip-grant-tables,重启服务:
    net stop MySQL8.0.42
    net start MySQL8.0.42
    
  4. 验证连接:
    mysql -u root -p123456 -P 3308
    
    成功进入则表示第二个版本安装完成。

四、关键注意事项

  1. 端口必须唯一:每个 MySQL 版本的 port 不能重复(如 3306、3307、3308 等),可通过 netstat -ano | findstr "3306" 检查端口是否被占用。
  2. 目录独立basedir(安装目录)、datadir(数据目录)必须分开,避免文件覆盖。
  3. 服务名唯一:安装服务时 --install 后的名称(如 MySQL5.742、MySQL8.0.42)不能重复,可通过 services.msc 查看已注册的服务。
  4. 环境变量(可选):无需添加多个 MySQL 的 bin 目录到系统环境变量,连接时通过 cd 切换到对应版本的 bin 目录,或指定完整路径(如 D:\Program Files\MySQL\mysql-8.0.36\bin\mysql -u root -p -P 3307)。
  5. 卸载方法:若需删除某个版本,先停止服务,再删除服务,最后删除目录:
    net stop MySQL80  # 停止服务
    sc delete MySQL80  # 删除服务(或 mysqld --remove MySQL80)
    

五、多版本切换使用示例

  • 连接 MySQL 5.7(3306 端口):
    mysql -u root -p123456 -P 3306
    
  • 连接 MySQL 8.0(3308 端口):
    mysql -u root -p123456 -P 3308
    
  • 用 Navicat 等工具连接:需手动选择端口(3306/3308),其他配置与单版本一致。

通过以上步骤,即可在 Windows 上同时运行多个独立的 MySQL 版本,互不干扰。若需安装更多版本,重复“第二个版本”的流程,仅需修改端口、目录和服务名即可。

http://www.dtcms.com/a/601635.html

相关文章:

  • 传媒网站建设公司wordpress建站教程简书
  • 校园网站设计代码wordpress左侧菜单
  • ElasticStack日志平台
  • 【20251029】本地开发 → 提交 → 测试环境部署
  • LeetCode 分类刷题:2130. 链表最大孪生和
  • 响应式网站建设的优势中国最新时事新闻
  • Magisk技术原理与安全实践
  • 一文理清汽车网络安全法规
  • 厦门专门建设网站的公司wps做网站
  • 基于Springboot+Vue的船只货船出行管理系统
  • Java EE - 线程安全的产生及解决方法
  • wordpress 迁移网站怎样在电脑登录wordpress
  • JavaEE进阶——Spring Boot项目
  • 供应商网络安全风险评估方法
  • 硅基计划6.0 伍 JavaEE 网络原理
  • 使用vLLM与Docker在Ubuntu 22.04上离线部署Qwen3-4B模型:多卡配置完整指南
  • 南京建设网站制作巧克力网站模板
  • 2019年的阜南县建设修路网站Net网站开发多少钱
  • 收集系统资源使用情况
  • 100v转12v芯片,100V转-12V负压方案AH7691D
  • 没有网站怎么做cpa赚钱网站设计论文的参考文献
  • Docker 部署 MySQL 5.7
  • 【图像处理基石】如何对图像畸变进行校正?
  • Step by Step Configuration Of DataGuard Broker for Oracle 19C
  • 阿里云服务器网站备案工程造价材料信息网
  • 做底单的网站wordpress oauth
  • mkcert 自签证书以及 jssip
  • 新出土的古陶瓷碎片的图片并根据碎口尝试进行拼接用什么模型算法比较合适?古陶瓷碎片拼接算法选型
  • 网站建设人员需求化妆品网站的建设方案
  • Flink原理与实战(java版)#第2章 Flink的入门(第一节大数据架构的演变)