宝塔如何安装两个mysql?

在宝塔面板中安装两个 MySQL 实例(即运行多个 MySQL 服务)是可行的,但需要手动配置,因为宝塔默认只支持安装一个 MySQL 版本。以下是详细步骤:


目标:在同一台服务器上运行两个 MySQL 实例

比如:

  • 第一个:默认的 3306 端口(由宝塔安装)
  • 第二个:自定义端口如 3307,数据目录不同

🔧 步骤一:通过宝塔安装第一个 MySQL

  1. 登录宝塔面板。
  2. 进入「软件商店」。
  3. 找到 MySQL(建议选择你常用的版本,如 5.7 或 8.0),点击「安装」。
  4. 安装完成后,第一个 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 » 宝塔如何安装两个mysql?