---
title: "宝塔面板如何切换 MySQL 版本"
description: "详细介绍如何在宝塔面板（BT Panel）中切换 MySQL 版本，含安装新版本、数据备份与迁移、版本切换与验证的完整步骤，避免数据丢失。"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.bt.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 宝塔面板如何切换 MySQL 版本

因 MySQL 跨版本切换存在数据丢失风险，因此宝塔面板在切换 MySQL 版本时通常会遇到相关提示。本文将指导您如何安全地切换宝塔面板 MySQL 版本。

## 切换流程图

```mermaid
flowchart LR
    A[开始] --> B[检查 MySQL 版本] --> C[创建快照备份] --> D[记录数据库信息]
    
    D --> E[备份 root 密码]
    E --> F[备份所有数据库] 
    F --> G[下载到本地]
    G --> H[删除数据库]
    
    H --> I[卸载 MySQL]
    I --> J[安装新版本]
    J --> K[创建数据库用户]
    K --> L[导入备份数据]
    
    L --> M[验证版本]
    M --> N[测试网站]
    N --> O{正常?}
    O -->|是| P[完成]
    
    O -->|否| Q[回滚]
    Q --> R[恢复快照]
    R --> P
    
    %% 设置节点样式
    style A fill:#e1f5fe,stroke:#01579b,stroke-width:2px
    style P fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px
    style Q fill:#ffebee,stroke:#c62828,stroke-width:2px
    style H fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style I fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style O fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
```

## 前提条件

:::warning 重要提醒
- 切换过程中 MySQL 无法使用，请在 ***业务低峰期*** 进行切换
- 为确保数据安全，请在 ***云厂商控制台创建快照或镜像*** 进行备份，以防止可能出现的意外导致数据丢失
:::

### 系统级备份

在开始操作前，务必完成以下备份：

1. **云服务器快照备份**
   - 登录云厂商控制台（阿里云/腾讯云/华为云等）
   - 创建服务器快照或系统镜像
   - 等待备份完成后再进行后续操作

2. **检查 MySQL 版本和状态**
   - 登录宝塔面板
   - 进入【软件商店】
   - 查看当前 MySQL 版本和运行状态

## 数据库备份操作

### 1. 记录数据库信息

登录宝塔面板，进入【数据库】管理页面：

**重要：** 请详细记录所有数据库信息在本地，大致格式如下：

| 数据库名 | 用户名 | 密码 |
|---------|-------|------|
| bt.cn | bt.cn | f8DArwY7RPr2ynbp |
| website_db | web_user | Kx9mNp2qR7sT |
| shop_db | shop_user | Lm5pQw8rE3tY |

![数据库管理界面](/img/practical-tutorials/database-management.png)

:::tip 提示
要依次记录每一个数据库的详细信息，包括数据库名、用户名和密码，这些信息在后续恢复时必需。
:::

### 2. 备份 root 密码

记录 MySQL 的 root 用户密码：
- 在数据库页面，点击【root密码】按钮，记录弹出窗口显示的密码  
![root密码](/img/practical-tutorials/mysql-root-password.png)

### 3. 备份所有数据库并下载到本地

对每个数据库进行备份：
   - 在数据库列表中，点击每个数据库后的【点击备份】按钮
   ![备份数据库](/img/practical-tutorials/mysql-backup-database.png)
   - 进入后点击【备份数据库】按钮，等待备份完成
   ![备份数据库](/img/practical-tutorials/mysql-backup-database-2.png)
   - 备份完成后，点击【下载】按钮，下载备份文件到本地
   ![备份数据库](/img/practical-tutorials/mysql-backup-database-3.png)

## MySQL 版本切换步骤

### 第一步：删除所有数据库

:::danger 危险操作
请确认已完成上述所有备份操作，否则数据将无法恢复！
:::

1. 在【数据库】管理页面
2. 逐个点击每个数据库后的【删除】按钮
![删除数据库](/img/practical-tutorials/mysql-delete-database.png)

### 第二步：卸载当前 MySQL 版本

1. 进入【软件商店】
2. 找到当前安装的 MySQL 版本
![卸载MySQL](/img/practical-tutorials/mysql-uninstall.png)
3. 点击【卸载】按钮
4. 在弹窗中确认卸载
![卸载MySQL](/img/practical-tutorials/mysql-uninstall-2.png)

### 第三步：安装目标 MySQL 版本

1. 在软件商店中搜索 MySQL
![搜索MySQL](/img/practical-tutorials/mysql-search.png)
2. 选择目标版本（如 MySQL 8.0）
![选择MySQL版本](/img/practical-tutorials/mysql-select-version.png)
3. 根据需要选择【极速安装】或【编译安装】
4. 等待安装完成
![安装MySQL](/img/practical-tutorials/mysql-install.png)

### 第四步：重新创建数据库用户

根据之前记录的信息，重新创建数据库：

**创建数据库**
   - 进入【数据库】管理页面
   - 点击【添加数据库】
   - 输入数据库名、用户名、密码（与之前记录的信息一致）
   ![创建数据库](/img/practical-tutorials/mysql-create-database.png)
   :::tip 提示
   需要依次创建所有数据库，并按照记录的信息设置用户名和密码
   :::
**修改 root 密码**（可选）
   - 进入【数据库】管理页面
   - 点击【root密码】按钮，输入之前记录的 root 密码
   ![修改root密码](/img/practical-tutorials/mysql-change-root-password.png)
   - 点击【确定】按钮，修改 root 密码


### 第五步：导入备份数据

**导入数据库**
   - 在数据库管理页面，点击对应数据库的【导入】按钮
   - 选择相应的备份文件（如果能看到备份文件，则直接选择，否则需要上传备份文件）
   ![导入数据库](/img/practical-tutorials/mysql-import-database.png)
   - 等待导入完成

## 验证切换结果

### 第六步：验证 MySQL 版本

1. **面板检查**
   - 进入【软件商店】，确认新版本 MySQL 正在运行
   - 检查服务状态为"正在运行"

2. **命令行验证**（可选）
   ```bash
   mysql -V
   ```

3. **连接测试**
   - 使用 phpMyAdmin 连接测试
   - 验证所有数据库都能正常访问

### 第七步：测试网站功能

逐个测试所有使用数据库的网站：

1. **基础功能测试**
   - 检查网站首页是否正常显示
   - 验证数据库连接状态

2. **核心功能验证**
   - 测试用户登录功能
   - 验证数据读取和写入
   - 检查搜索功能
   - 测试表单提交

## 版本兼容性说明

### 常见版本切换情况

- **MySQL 5.6 → 5.7**：通常兼容性良好，较少问题
- **MySQL 5.7 → 8.0**：需要注意认证方式和字符集变化
- **MySQL 8.0 → 5.7**：不建议降级，可能导致数据丢失

### 注意事项

1. **字符集问题**
   - MySQL 8.0 默认字符集为 `utf8mb4`
   - 旧版本可能使用 `utf8`，需要检查兼容性

2. **认证方式变化**
   - MySQL 8.0 使用 `caching_sha2_password`
   - 部分应用可能需要调整连接配置

## 常见问题及解决方案


### 问题1：网站无法连接数据库

**症状**：网站显示数据库连接错误

**可能原因**：
- 数据库用户权限问题
- 认证方式不兼容
- 网站配置文件中的数据库信息错误

**解决方案**：
1. 检查数据库用户是否创建正确
2. 如果是 MySQL 8.0，可能需要修改认证方式：
   ```sql
   ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
   ```
3. 验证网站配置文件中的数据库连接信息

### 问题2：数据不完整或丢失

**症状**：切换后发现部分数据缺失

**应急处理**：
1. ***立即停止所有数据库写入操作***
2. ***恢复服务器快照***（如果可能）
3. ***从本地备份重新导入***

**预防措施**：
- 切换前详细核对备份文件
- 使用多种备份方式（宝塔备份+手动导出）
- 在测试环境先验证流程

## 应急回滚方案

如果切换过程中出现严重问题，可以按以下步骤回滚：

### 方案一：使用服务器快照回滚

1. 登录云服务器控制台
2. 选择之前创建的快照
3. 执行快照回滚操作
4. 等待系统恢复到切换前的状态

### 方案二：手动回滚

1. 卸载新版本 MySQL
2. 重新安装原版本 MySQL
3. 从本地备份恢复数据库
4. 验证网站功能正常

## 总结

宝塔面板 MySQL 版本切换是一个需要谨慎操作的过程。按照本文档的步骤进行操作，可以最大程度确保数据安全和切换成功。记住： ***备份是最重要的保障措施*** ，在任何操作前都要确保有完整的数据备份。

:::warning 重要提醒
- 生产环境切换前务必在测试环境验证
- 如遇到复杂问题，建议寻求专业技术支持
:::

Source: https://docs.bt.cn/practical-tutorials/switch-mysql-version/index.mdx
