在宝塔面板中,可以实现多个网站使用不同版本的 MySQL(或 MariaDB)数据库,但需要注意以下几点:
✅ 一、是否支持多版本 SQL 共存?
是的,宝塔面板支持安装多个版本的数据库服务,例如:
- MySQL 5.6
- MySQL 5.7
- MySQL 8.0
- MariaDB 10.1 / 10.2 / 10.3 / 10.5 / 10.6
你可以在【软件商店】中同时安装多个版本的数据库。
⚠️ 注意:多个数据库版本不能同时运行在 同一个端口(如 3306) 上。因此,你需要为每个数据库设置不同的端口。
✅ 二、如何让不同站点使用不同版本的数据库?
方法一:共用主机 + 不同数据库版本(推荐)
虽然所有站点都在同一台服务器上,但你可以:
- 安装多个数据库版本(如 MySQL 5.7 和 MySQL 8.0)
- 修改其中一个的默认端口(比如把 MySQL 8.0 改成
3307) - 启动两个数据库服务
- 在不同站点的程序配置文件中指定连接对应的数据库地址和端口
📌 示例:
| 站点 | 使用数据库 | 连接配置 |
|---|---|---|
| site-a.com | MySQL 5.7 | host: 127.0.0.1, port: 3306 |
| site-b.com | MySQL 8.0 | host: 127.0.0.1, port: 3307 |
这样两个站点就分别使用了不同版本的数据库。
方法二:使用 Docker 部署独立数据库(高级用户)
你也可以通过宝塔的 Docker 管理器或手动部署:
- 为每个站点启动一个独立的 MySQL 容器,指定不同版本(如 mysql:5.7、mysql:8.0)
- 每个容器映射不同端口或通过内网通信
- 网站程序连接对应容器的数据库
优点:完全隔离、灵活控制版本和配置
缺点:管理复杂度增加
✅ 三、操作步骤(以方法一为例)
步骤 1:安装多个数据库版本
- 登录宝塔面板
- 进入【软件商店】
- 安装
MySQL 5.7 - 再安装
MySQL 8.0
宝塔会提示“已安装其他版本”,但仍可继续安装,选择“强制安装”
步骤 2:修改其中一个数据库的端口
以 MySQL 8.0 为例:
- 找到 MySQL 8.0 的配置文件(通常位于
/www/server/mysql8/etc/my.cnf或类似路径) - 修改:
[mysqld] port = 3307 - 保存后重启 MySQL 8.0 服务
步骤 3:创建数据库并授权
- 在宝塔【数据库】页面,确保你能看到两个数据库实例(可通过不同端口区分)
- 分别为两个站点创建数据库账号和密码
步骤 4:配置网站程序
编辑网站对应的程序配置文件(如 config.php、.env 等),设置正确的:
- 数据库主机:
127.0.0.1 - 端口:
3306或3307 - 用户名、密码、数据库名
❌ 四、注意事项
- 不能同时运行多个数据库在 3306 端口,必须改端口
- 某些旧程序可能不兼容 MySQL 8.0(如默认认证插件
caching_sha2_password),需调整配置 - 多数据库会占用更多内存和资源,请确保服务器配置足够
- 宝塔默认只显示一个“数据库”管理入口,查看非 3306 端口的数据库时,建议使用 phpMyAdmin 手动切换,或通过命令行连接
✅ 五、小技巧:使用 phpMyAdmin 访问非默认端口数据库
- 编辑 phpMyAdmin 配置文件(
/www/server/phpmyadmin/config.inc.php) - 添加一个新的服务器配置:
$i++;
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = '3307';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['verbose'] = 'MySQL 8.0';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
保存后,在登录页就能选择连接哪个数据库实例。
✅ 总结
| 目标 | 是否可行 | 说明 |
|---|---|---|
| 多站点用不同 SQL 版本 | ✅ 可行 | 安装多版本 + 改端口 |
| 同时运行多个 MySQL | ✅ 可行 | 必须使用不同端口 |
| 宝塔直接图形化管理多版本 | ⚠️ 有限支持 | 建议配合手动配置 |
如果你告诉我具体使用的程序(如 WordPress、ThinkPHP、Laravel 等),我可以提供更详细的配置示例。
需要我帮你写一份自动切换数据库版本的脚本或配置模板吗?
PHPWP博客