在宝塔面板中安装两个版本的 MySQL 是可行的,但需要注意的是,MySQL 的不同版本不能同时使用相同的端口(默认 3306)和数据目录。因此你需要进行一些手动配置来实现多个 MySQL 版本共存。
下面是详细的步骤指南:
🧩 一、前提条件
- 系统:CentOS / Ubuntu / Debian(推荐 CentOS)
- 宝塔面板:最新稳定版
- 已安装一个版本的 MySQL(例如 MySQL 5.6)
✅ 二、安装第二个 MySQL 版本(如 MySQL 8.0)
方法一:通过宝塔软件商店安装(推荐)
- 登录宝塔面板 → 软件商店 → 搜索
MySQL。 - 如果当前已安装了 MySQL 5.6,可以继续安装 MySQL 8.0:
- 点击安装 MySQL 8.0(会自动以不同的端口安装,比如 3307)
- 安装时会提示是否启用多实例,选择 是
✅ 宝塔从某个版本开始支持多版本 MySQL 共存(需面板 v7.x 以上)
方法二:手动编译安装(进阶用户)
如果你使用的宝塔版本不支持多版本共存,或者你希望更灵活控制,可以手动安装另一个版本的 MySQL。
步骤如下:
1. 下载并安装新的 MySQL 版本(如 MySQL 8.0)
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
tar xf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql8
2. 创建数据目录和配置文件
mkdir /usr/local/mysql8/data
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown -R mysql:mysql /usr/local/mysql8
创建配置文件 /etc/my8.cnf:
[client]
port=3307
socket=/tmp/mysql8.sock
[mysqld]
port=3307
socket=/tmp/mysql8.sock
basedir=/usr/local/mysql8
datadir=/usr/local/mysql8/data
server-id=2
log-error=/usr/local/mysql8/data/error.log
pid-file=/usr/local/mysql8/data/mysql.pid
3. 初始化数据库
cd /usr/local/mysql8
bin/mysqld --defaults-file=/etc/my8.cnf --initialize --user=mysql
初始化完成后会生成临时密码,请记录下来。
4. 启动 MySQL 8.0
bin/mysqld_safe --defaults-file=/etc/my8.cnf &
5. 设置 root 密码
bin/mysql -u root -p -S /tmp/mysql8.sock
进入后修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
🔁 三、管理多个 MySQL 实例
你可以通过以下方式连接不同的 MySQL 实例:
| 实例 | 端口 | 套接字文件 |
|---|---|---|
| MySQL 5.6 | 3306 | /tmp/mysql.sock |
| MySQL 8.0 | 3307 | /tmp/mysql8.sock |
使用命令行连接:
# 连接 MySQL 5.6
mysql -u root -p -P 3306 -h 127.0.0.1
# 连接 MySQL 8.0
mysql -u root -p -S /tmp/mysql8.sock
🧪 四、测试与注意事项
- 不同的 MySQL 实例之间不能共享数据库文件。
- 宝塔面板默认只管理第一个 MySQL 实例,第二个需要手动维护。
- 可以写脚本或 systemd 服务来开机自启动第二个 MySQL。
示例 systemd 配置(保存为 /etc/systemd/system/mysql8.service):
[Unit]
Description=MySQL 8.0 Server
After=network.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql8/bin/mysqld_safe --defaults-file=/etc/my8.cnf
Restart=always
[Install]
WantedBy=multi-user.target
然后执行:
systemctl daemon-reload
systemctl enable mysql8
systemctl start mysql8
✅ 总结
| 步骤 | 内容 |
|---|---|
| ✅ 推荐方式 | 在宝塔软件商店直接安装另一个版本(如 MySQL 8.0) |
| ⚠️ 注意事项 | 端口不能冲突,数据目录要独立 |
| 💡 高级用法 | 手动安装 + 多实例配置 + systemd 管理 |
| 📌 宝塔限制 | 默认只管理一个 MySQL,其他需要手动操作 |
如果你告诉我你已经安装了哪个版本的 MySQL 和宝塔版本号,我可以提供更具体的安装建议!
CLOUD技术博