奋斗
努力

宝塔面板如何安装不同版本mysql?

云计算

在宝塔面板中安装不同版本的 MySQL,可以通过以下几种方式实现。由于宝塔面板默认只允许同时安装一个数据库环境(如 MySQL 或 MariaDB),但你可以通过以下方法来安装多个 MySQL 版本或切换版本。


✅ 方法一:使用宝塔内置功能切换 MySQL 版本(推荐新手)

注意:此方法是 替换当前数据库版本,不能共存多个版本。

步骤:

  1. 登录宝塔面板。

  2. 进入左侧菜单 “软件商店”

  3. 找到已安装的 MySQL(例如 MySQL 5.7)。

  4. 点击右侧的 “设置” → “版本” 标签页

  5. 在这里可以选择其他版本进行切换,如:

    • MySQL 5.6
    • MySQL 5.7
    • MySQL 8.0
    • MariaDB 10.1 / 10.2 / 10.3 / 10.5 / 10.6 等
  6. 选择你需要的版本后,点击 “切换” 按钮。

  7. 宝塔会自动备份数据并执行版本切换(建议提前手动备份重要数据库!

⚠️ 注意:

  • 切换版本可能导致兼容性问题(如 MySQL 8.0 的密码认证方式变更)。
  • 不支持跨大版本无缝升级时可能失败,需手动处理。

✅ 方法二:手动编译安装另一个 MySQL 实例(高级用户)

如果你想在同一台服务器上运行 多个 MySQL 版本(例如同时运行 MySQL 5.7 和 MySQL 8.0),需要手动部署第二个实例,不能通过宝塔图形界面直接实现。

基本思路:

  • 使用不同的端口(如 3306 和 3307)
  • 不同的数据目录(如 /www/server/mysql8/
  • 不同的配置文件和启动脚本

示例:手动安装 MySQL 8.0 并与宝塔自带的 MySQL 5.7 共存

# 1. 下载 MySQL 8.0 官方二进制包
cd /tmp
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz
tar -xf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
mv /usr/local/mysql-8.0.36-linux-glibc2.12-x86_64 /usr/local/mysql8

# 2. 创建用户和目录
useradd -r -s /sbin/nologin mysql8
mkdir -p /data/mysql8/data
chown -R mysql8:mysql8 /data/mysql8
chown -R mysql8:mysql8 /usr/local/mysql8

# 3. 初始化数据库
/usr/local/mysql8/bin/mysqld --initialize 
--user=mysql8 
--basedir=/usr/local/mysql8 
--datadir=/data/mysql8/data 
--port=3307

# 记住生成的临时密码!

# 4. 配置 my.cnf(新建 /etc/my8.cnf)
cat > /etc/my8.cnf << 'EOF'
[client]
port = 3307
socket = /tmp/mysql8.sock

[mysqld]
port = 3307
socket = /tmp/mysql8.sock
basedir = /usr/local/mysql8
datadir = /data/mysql8/data
pid-file = /data/mysql8/data/mysql8.pid
user = mysql8
log-error = /data/mysql8/data/error.log
server-id = 2
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
EOF

# 5. 启动 MySQL 8.0
/usr/local/mysql8/bin/mysqld_safe --defaults-file=/etc/my8.cnf &

# 6. 设置开机启动(可选)
# 添加到 /etc/rc.d/rc.local 或使用 systemd 编写服务脚本

🔐 登录方式:

/usr/local/mysql8/bin/mysql -u root -p -P 3307 -h 127.0.0.1 --protocol=tcp

📌 注意:这个实例不会出现在宝塔面板中,需手动管理。


✅ 方法三:使用 Docker 安装多版本 MySQL(推荐开发者)

这是最灵活、安全的方式,适合开发测试环境。

示例:运行 MySQL 5.6 和 8.0 两个容器

# 安装 Docker(若未安装)
curl -fsSL https://get.docker.com | bash

# 启动 MySQL 5.6
docker run -d 
  --name mysql56 
  -p 3306:3306 
  -e MYSQL_ROOT_PASSWORD=yourpassword 
  -v /mydata/mysql56:/var/lib/mysql 
  mysql:5.6

# 启动 MySQL 8.0(映射到 3307 端口避免冲突)
docker run -d 
  --name mysql80 
  -p 3307:3306 
  -e MYSQL_ROOT_PASSWORD=yourpassword 
  -v /mydata/mysql80:/var/lib/mysql 
  mysql:8.0

然后你可以在应用中连接:

  • localhost:3306 → MySQL 5.6
  • localhost:3307 → MySQL 8.0

💡 优点:隔离性好、易于管理、不影响宝塔主环境。


❌ 不支持的功能

  • 宝塔面板目前 不支持图形化同时安装多个 MySQL 版本
  • 无法通过“软件商店”添加两个 MySQL 实例

✅ 推荐方案总结

目的 推荐方法
只想换版本(不共存) 使用宝塔内置“版本切换”功能
需要多个版本共存 手动安装或使用 Docker
开发/测试用途 强烈推荐 Docker 方式

如有进一步需求(如配置远程访问、权限设置、Docker Compose 脚本等),欢迎继续提问!

未经允许不得转载:云服务器 » 宝塔面板如何安装不同版本mysql?