宝塔面板安装两个版本mysql?

在宝塔面板中,默认情况下一个 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 版本,我可以提供更具体的命令或脚本。