结论:
在宝塔面板中,可以通过编译安装的方式手动添加多个MySQL版本,从而实现一台服务器上运行两个不同版本的MySQL数据库。这是解决开发环境中需要兼容不同项目数据库版本需求的有效方法。
为什么要在宝塔面板中安装两个MySQL版本?
由于Web项目的多样化,有些旧项目可能依赖于MySQL 5.6,而新项目则使用了MySQL 8.0的新特性。为了在同一台服务器上同时运行这些项目,就需要在同一台服务器上安装并运行多个MySQL版本。
宝塔面板默认支持的情况
- 宝塔面板后台默认只能选择一个MySQL版本进行安装。
- 系统安装的MySQL服务是通过LNMP一键包方式部署的,一次只能启用一个版本的服务。
- 所以,直接通过宝塔软件商店无法安装第二个MySQL版本。
实现方法概述
要实现在宝塔面板中运行两个MySQL版本,主要步骤如下:
- 卸载当前使用的MySQL版本(可选)
- 使用宝塔面板安装其中一个版本(如MySQL 5.6)
- 通过源码或二进制方式手动安装另一个版本(如MySQL 8.0)
- 配置不同的端口、数据目录和启动脚本
- 设置开机自启,并确保两个MySQL服务不冲突
具体操作步骤
✅ 步骤一:使用宝塔安装第一个MySQL版本
- 登录宝塔面板 → 软件商店 → 安装你常用的MySQL版本(例如MySQL 5.6)。
- 等待安装完成后,确认其运行正常。
✅ 步骤二:下载并手动安装第二个MySQL版本
- 前往MySQL官网下载对应系统的二进制包(推荐使用Linux Generic版本):
- 示例:
mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz
- 示例:
- 解压到指定目录,例如
/usr/local/mysql80 - 创建软链接:
ln -s /usr/local/mysql80 /usr/local/mysql8 - 创建专用用户和组:
groupadd mysql8 useradd -r -g mysql8 mysql8 chown -R mysql8:mysql8 /usr/local/mysql80 - 初始化数据库:
cd /usr/local/mysql80 ./bin/mysqld --initialize --user=mysql8 --basedir=/usr/local/mysql80 --datadir=/usr/local/mysql80/data - 修改配置文件
my.cnf,设置不同的端口(如3307)、socket路径、数据目录等。
✅ 步骤三:创建系统服务并启动
- 创建服务脚本
/etc/systemd/system/mysql8.service - 启动并设置开机自启:
systemctl start mysql8 systemctl enable mysql8
如何区分两个MySQL版本?
| 参数 | MySQL 5.6(宝塔安装) | MySQL 8.0(手动安装) |
|---|---|---|
| 端口 | 3306 | 3307 |
| 数据目录 | 默认 | 自定义(如 /usr/local/mysql80/data) |
| 启动方式 | 宝塔管理/系统服务 | systemd管理 |
注意事项
- 两个MySQL实例不能使用相同的端口或数据目录,否则会冲突。
- 宝塔面板只识别它自己安装的那个MySQL,手动安装的版本需要通过命令行或远程连接访问。
- 如果你是开发者,建议为每个项目配置对应的数据库连接参数(如host、port)。
总结
在宝塔面板中安装两个MySQL版本的核心在于“一个用宝塔安装,一个手动安装”。通过这种方式,可以灵活应对不同项目对数据库版本的需求,提高服务器资源利用率和开发效率。虽然操作略复杂,但只要按照步骤执行,即可成功实现多版本共存。
核心观点:
- 宝塔面板默认不支持多MySQL版本,但可通过手动安装实现。
- 关键点是配置不同端口和数据目录,避免服务冲突。
- 适合用于开发测试环境或多个项目并存的服务器场景。
云知道CLOUD