如何安装多版本mysql共存_mysql多版本共存安装方法

php中文网
发布: 2025-12-06 17:51:06
原创
813人浏览过
多版本MySQL可在同一服务器共存,需确保端口、数据目录、套接字和配置文件独立。1. 使用官方二进制包分别解压到不同目录;2. 为每个版本创建独立配置文件(如my-5.7.cnf、my-8.0.cnf),指定不同端口、socket、datadir等;3. 创建对应数据目录并授权;4. 用各自mysqld初始化数据目录;5. 通过--defaults-file启动各实例,并用对应客户端连接。建议避免包管理器安装以防冲突。

如何安装多版本mysql共存_mysql多版本共存安装方法

在一台服务器或开发机上安装多个版本的 MySQL 共存,常见于需要测试不同版本兼容性或维护多个项目的情况。实现多版本共存的关键是避免端口、数据目录、套接字文件和配置文件冲突。下面介绍一种基于 Linux 系统(以 CentOS/Ubuntu 为例)的多版本 MySQL 安装方法。

选择安装方式:推荐使用二进制包

为了便于管理多个版本,建议使用官方提供的二进制压缩包(tar.gz)方式安装,而不是通过系统包管理器(如 yum 或 apt),因为后者容易覆盖或冲突。

  • MySQL 官方下载页面 获取所需版本的 Linux-Generic 二进制包(例如:mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 和 mysql-8.0.36-linux-glibc2.12-x86_64.tar.gz)
  • 将不同版本解压到独立目录,例如:
    /usr/local/mysql-5.7
    /usr/local/mysql-8.0
  • 创建软链接方便调用(可选):
    ln -s /usr/local/mysql-5.7 /usr/local/mysql57
    ln -s /usr/local/mysql-8.0 /usr/local/mysql80

为每个版本配置独立的配置文件和数据目录

每个 MySQL 实例必须使用不同的配置文件、数据目录、端口和 socket 文件,防止冲突。

  • 为每个版本创建独立的配置文件,例如:
    /etc/my-5.7.cnf
    /etc/my-8.0.cnf
  • 示例 my-5.7.cnf 内容:
[mysqld]
port=3307
socket=/tmp/mysql-5.7.sock
basedir=/usr/local/mysql-5.7
datadir=/var/lib/mysql-5.7
pid-file=/var/lib/mysql-5.7/mysqld.pid
server-id=1
log-error=/var/log/mysql-5.7.log


  • 示例 my-8.0.cnf 内容:
[mysqld]
port=3308
socket=/tmp/mysql-8.0.sock
basedir=/usr/local/mysql-8.0
datadir=/var/lib/mysql-8.0
pid-file=/var/lib/mysql-8.0/mysqld.pid
server-id=2
log-error=/var/log/mysql-8.0.log


  • 提前创建数据目录并授权:
    mkdir /var/lib/mysql-5.7 /var/lib/mysql-8.0
    chown -R mysql:mysql /var/lib/mysql-5.7 /var/lib/mysql-8.0

初始化各自的数据目录

使用对应版本的 mysqld 命令进行初始化,生成 root 密码或设置空密码(根据需求)。

Sitekick
Sitekick

一个AI登陆页面自动构建器

Sitekick 121
查看详情 Sitekick
  • 初始化 MySQL 5.7:
  • /usr/local/mysql-5.7/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7 --datadir=/var/lib/mysql-5.7
  • 初始化 MySQL 8.0:
  • /usr/local/mysql-8.0/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/var/lib/mysql-8.0
  • 记录输出中的临时 root 密码,后续登录时使用

分别启动与连接不同版本实例

使用 --defaults-file 指定配置文件来启动每个实例。

  • 启动 MySQL 5.7:
  • /usr/local/mysql-5.7/bin/mysqld --defaults-file=/etc/my-5.7.cnf &
  • 启动 MySQL 8.0:
  • /usr/local/mysql-8.0/bin/mysqld --defaults-file=/etc/my-8.0.cnf &
  • 连接 MySQL 5.7:
  • /usr/local/mysql-5.7/bin/mysql -u root -p -S /tmp/mysql-5.7.sock
  • 连接 MySQL 8.0:
  • /usr/local/mysql-8.0/bin/mysql -u root -p -S /tmp/mysql-8.0.sock

如果希望开机自启,可以为每个实例编写 systemd 服务脚本(如 mysql-57.service 和 mysql-80.service),指定各自的配置文件和启动命令。

基本上就这些。只要保证端口、数据目录、socket、配置文件彼此独立,多个 MySQL 版本能稳定共存。操作时注意权限和路径准确性,避免混淆版本导致误操作。

以上就是如何安装多版本mysql共存_mysql多版本共存安装方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号