宝塔如何装两个版本MYSQL?

在宝塔面板中安装两个不同版本的 MySQL 是可行的,但需要注意以下几点:

  • 宝塔默认只支持安装一个 MySQL 实例(通过软件商店安装)。
  • 要运行多个 MySQL 版本,需要手动安装其中一个版本,并指定不同的端口、数据目录等配置。

下面是详细的步骤说明,教你如何在 宝塔面板 中安装两个不同版本的 MySQL。


🧩 方案一:使用宝塔安装一个版本 + 手动安装另一个版本

✅ 推荐方式:

  • 用宝塔安装一个版本(比如 MySQL 5.6)
  • 手动编译或解压安装另一个版本(比如 MySQL 8.0)

🔧 步骤详解

1. 使用宝塔安装第一个 MySQL 版本

进入【宝塔面板】 → 【软件商店】 → 搜索 MySQL → 安装你想要的第一个版本(如 MySQL 5.6)

宝塔会自动配置环境变量、服务、开机启动等。


2. 准备手动安装第二个 MySQL 版本(例如 MySQL 8.0)

📌 步骤如下:

2.1 下载 MySQL 二进制包

cd /usr/local/src
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz

你可以从 MySQL官网 获取对应版本的下载链接。

2.2 解压并创建软连接

xz -d mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar
mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql8

2.3 创建用户和目录

groupadd mysql8
useradd -r -g mysql8 mysql8
mkdir -p /usr/local/mysql8/data
chown -R mysql8:mysql8 /usr/local/mysql8

2.4 初始化数据库

cd /usr/local/mysql8
./bin/mysqld --initialize-insecure 
--user=mysql8 
--basedir=/usr/local/mysql8 
--datadir=/usr/local/mysql8/data

--initialize-insecure 表示不生成随机密码,方便后续设置。生产环境建议使用安全初始化。

2.5 配置 my.cnf 文件(注意端口不同)

创建配置文件 /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
pid-file = /usr/local/mysql8/data/mysql8.pid
user = mysql8
skip-name-resolve
max_connections = 200
innodb_buffer_pool_size = 128M
key_buffer_size = 32M
server-id = 2
log-bin=mysql-bin

2.6 启动 MySQL 8

/usr/local/mysql8/bin/mysqld_safe --defaults-file=/etc/my8.cnf &

2.7 设置开机自启(可选)

创建服务脚本 /etc/systemd/system/mysql8.service

[Unit]
Description=MySQL 8.0 Server
After=network.target

[Service]
User=mysql8
Group=mysql8
ExecStart=/usr/local/mysql8/bin/mysqld_safe --defaults-file=/etc/my8.cnf
Restart=always

[Install]
WantedBy=multi-user.target

启用服务:

systemctl daemon-reexec
systemctl enable mysql8
systemctl start mysql8

3. 测试访问两个 MySQL 实例

  • 默认 MySQL(宝塔安装):端口 3306
  • 手动安装的 MySQL 8:端口 3307
mysql -u root -p -h 127.0.0.1 -P 3306
mysql -u root -p -h 127.0.0.1 -P 3307

💡 注意事项

项目 内容
端口冲突 两个 MySQL 必须使用不同端口
数据目录 不同实例的数据目录必须独立
用户权限 不同实例使用的系统用户最好不同
备份策略 分别备份,避免混乱
宝塔操作 宝塔只能管理它自己安装的那个 MySQL

🛠️ 可选优化

  • 使用宝塔计划任务定期备份两个数据库
  • 在宝塔中添加反向或其他应用时注意连接哪个数据库
  • 如果你是开发测试用途,也可以考虑使用 Docker 来运行多版本 MySQL

🐳 替代方案:使用 Docker 安装多个 MySQL 版本

如果你熟悉 Docker,可以轻松部署多个 MySQL 实例:

docker run --name mysql56 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.6
docker run --name mysql80 -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -d mysql:8.0

这样你就可以通过 localhost:3306localhost:3307 访问两个不同版本的 MySQL。


✅ 总结

方法 是否推荐 说明
宝塔安装一个 + 手动安装一个 ✅ 推荐 控制灵活,适合服务器环境
宝塔安装两个(不推荐) ❌ 不支持 宝塔只允许安装一个 MySQL
Docker 安装多个 ✅ 推荐 开发测试非常方便

如果你有具体要安装的两个版本号,我可以提供更具体的命令和配置文件。欢迎继续提问!

未经允许不得转载:云计算 » 宝塔如何装两个版本MYSQL?