在宝塔面板中安装两个 MySQL 实例(即运行多个 MySQL 服务)是可行的,但需要手动配置,因为宝塔默认只支持安装一个 MySQL 版本。以下是详细步骤:
✅ 目标:在同一台服务器上运行两个 MySQL 实例
比如:
- 第一个:默认的 3306 端口(由宝塔安装)
- 第二个:自定义端口如 3307,数据目录不同
🔧 步骤一:通过宝塔安装第一个 MySQL
- 登录宝塔面板。
- 进入「软件商店」。
- 找到 MySQL(建议选择你常用的版本,如 5.7 或 8.0),点击「安装」。
- 安装完成后,第一个 MySQL 实例已运行在
3306端口。
🛠️ 步骤二:手动安装第二个 MySQL 实例
注意:这里我们使用与宝塔相同的 MySQL 版本进行复制配置,避免兼容问题。
1. 创建新的数据目录和配置文件
# 创建新实例的数据目录
mkdir /www/server/mysql2
chown -R mysql:mysql /www/server/mysql2
2. 初始化第二个 MySQL 实例
# 使用 mysqld 命令初始化(路径可能略有不同,请根据实际调整)
/usr/sbin/mysqld --initialize-insecure
--user=mysql
--basedir=/www/server/mysql
--datadir=/www/server/mysql2
--port=3307
--socket=/tmp/mysql2.sock
⚠️
--initialize-insecure表示不设置 root 密码(便于后续修改)。生产环境建议用--initialize并记录临时密码。
3. 创建新的配置文件 my2.cnf
vim /www/server/my2.cnf
内容如下:
[mysqld]
server-id=2
port=3307
socket=/tmp/mysql2.sock
datadir=/www/server/mysql2
log-error=/www/server/mysql2/error.log
pid-file=/www/server/mysql2/mysql.pid
skip-name-resolve
lower_case_table_names=1
character-set-server=utf8mb4
default-storage-engine=INNODB
# 可选:防止与第一个实例冲突
tmpdir=/tmp/mysql2
gtid-mode=ON
enforce-gtid-consistency=ON
保存退出。
4. 创建 systemd 启动服务(推荐)
vim /etc/systemd/system/mysql2.service
内容如下:
[Unit]
Description=MySQL Second Instance
After=network.target
After=syslog.target
[Service]
Type=simple
User=mysql
Group=mysql
ExecStart=/usr/sbin/mysqld --defaults-file=/www/server/my2.cnf
Restart=always
RestartSec=3
PrivateTmp=true
[Install]
WantedBy=multi-user.target
然后加载服务:
systemctl daemon-reexec
systemctl enable mysql2
5. 启动第二个 MySQL 实例
systemctl start mysql2
检查是否启动成功:
systemctl status mysql2
netstat -tulnp | grep 3307
6. 设置 root 密码并安全配置
连接到新实例:
mysql -u root -S /tmp/mysql2.sock
进入后执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的强密码';
FLUSH PRIVILEGES;
EXIT;
🧩 步骤三:(可选)在宝塔中管理第二个 MySQL
宝塔本身无法直接管理多个实例,但你可以:
- 使用「数据库」功能添加远程数据库(填写本地 IP + 3307 端口)
- 或者使用 phpMyAdmin / Navicat 等工具连接
127.0.0.1:3307
⚠️ 需确保用户有权限从对应主机登录。
📌 注意事项
| 项目 | 要求 |
|---|---|
| 端口 | 必须不同(如 3306 vs 3307) |
| socket 文件 | 不同路径(避免冲突) |
| 数据目录 | 独立(如 /www/server/mysql2) |
| 配置文件 | 单独指定 |
| 服务名 | 推荐独立 systemd 服务 |
| 内存占用 | 两个实例会增加内存消耗 |
❌ 不推荐的方式
- 直接在宝塔多次安装 MySQL —— 会覆盖或报错。
- 修改原 MySQL 端口再重装 —— 容易出错。
✅ 总结
| 步骤 | 操作 |
|---|---|
| 1 | 宝塔安装第一个 MySQL(3306) |
| 2 | 手动初始化第二个实例(3307) |
| 3 | 创建独立配置文件和 service |
| 4 | 启动并设置密码 |
| 5 | 使用外部工具或宝塔“远程数据库”连接 |
如有需要,我也可以提供一键脚本辅助部署。是否需要?
云计算HECS