在宝塔面板中,默认情况下一个 MySQL 版本只能安装一次。但你可以通过以下方式实现在同一台服务器上安装 两个不同版本的 MySQL,比如同时运行 MySQL 5.6 和 MySQL 8.0。
✅ 方法一:使用宝塔 + 手动编译安装另一个版本
🔧 步骤如下:
1. 通过宝塔安装一个版本的 MySQL
- 登录宝塔面板 → 软件商店 → 安装你需要的一个 MySQL 版本(例如 MySQL 5.6 或 8.0)。
- 确保这个数据库正常运行,并记住它的端口(默认是
3306)。
2. 手动安装第二个版本的 MySQL
① 下载对应版本的 MySQL
cd /root
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
注:根据你的系统选择合适的二进制包,建议使用官方推荐的 Linux Generic 版本。
② 解压并移动到合适目录
tar -xvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql8
③ 创建用户和权限
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql8
④ 初始化数据库
cd /usr/local/mysql8
mkdir mysql-data8
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql8 --datadir=/usr/local/mysql8/mysql-data8
初始化完成后会输出 root 密码,请记录下来。
⑤ 修改配置文件 my.cnf
cp support-files/my-default.cnf /etc/my8.cnf
编辑 /etc/my8.cnf:
[client]
port = 3307
socket = /tmp/mysql8.sock
[mysqld]
basedir = /usr/local/mysql8
datadir = /usr/local/mysql8/mysql-data8
port = 3307
socket = /tmp/mysql8.sock
pid-file = /usr/local/mysql8/mysql-data8/mysql.pid
server-id=2
⑥ 启动 MySQL 8.0 实例
./bin/mysqld_safe --defaults-file=/etc/my8.cnf &
⑦ 设置开机启动(可选)
可以将启动命令写入 /etc/rc.d/rc.local 或创建 systemd 服务。
✅ 方法二:使用 Docker 安装多个 MySQL 版本(推荐)
如果你熟悉 Docker,可以非常方便地部署多个 MySQL 实例。
示例:运行 MySQL 5.7 和 MySQL 8.0
# 运行 MySQL 5.7
docker run --name mysql57
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=yourpassword
-d mysql:5.7
# 运行 MySQL 8.0(映射到 3307 端口)
docker run --name mysql80
-p 3307:3306
-e MYSQL_ROOT_PASSWORD=yourpassword
-d mysql:8.0
这样你就可以通过不同的端口访问不同版本的 MySQL 数据库了。
🧪 如何连接不同版本的 MySQL?
| 类型 | 端口 | 用户名 | 密码 |
|---|---|---|---|
| 宝塔安装的 MySQL | 3306 | root | 宝塔设置的密码 |
| 手动安装的 MySQL | 3307 | root | 初始化时生成的密码 |
| Docker 安装的 MySQL 8.0 | 3307 | root | yourpassword |
📌 注意事项
- 不同实例的数据目录、端口、sock 文件不能冲突。
- 防火墙要开放新端口(如 3307)。
- 如果你是开发测试用途,Docker 是最简单的方式。
- 如果你在生产环境使用,建议使用专业的多实例管理方法。
如果你告诉我你当前使用的宝塔版本和想安装的两个 MySQL 版本,我可以提供更具体的命令或脚本。
云知识