Skip to content

宝塔面板如何切换 MySQL 版本

详细介绍如何在宝塔面板(BT Panel)中切换 MySQL 版本,含安装新版本、数据备份与迁移、版本切换与验证的完整步骤,避免数据丢失。

更新于 查看 Markdown

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

切换流程图

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

前提条件

系统级备份

在开始操作前,务必完成以下备份:

  1. 云服务器快照备份

    • 登录云厂商控制台(阿里云/腾讯云/华为云等)
    • 创建服务器快照或系统镜像
    • 等待备份完成后再进行后续操作
  2. 检查 MySQL 版本和状态

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

数据库备份操作

1. 记录数据库信息

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

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

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

数据库管理界面

2. 备份 root 密码

记录 MySQL 的 root 用户密码:

  • 在数据库页面,点击【root密码】按钮,记录弹出窗口显示的密码
    root密码

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

对每个数据库进行备份:

  • 在数据库列表中,点击每个数据库后的【点击备份】按钮 备份数据库
  • 进入后点击【备份数据库】按钮,等待备份完成 备份数据库
  • 备份完成后,点击【下载】按钮,下载备份文件到本地 备份数据库

MySQL 版本切换步骤

第一步:删除所有数据库

  1. 在【数据库】管理页面
  2. 逐个点击每个数据库后的【删除】按钮 删除数据库

第二步:卸载当前 MySQL 版本

  1. 进入【软件商店】
  2. 找到当前安装的 MySQL 版本 卸载MySQL
  3. 点击【卸载】按钮
  4. 在弹窗中确认卸载 卸载MySQL

第三步:安装目标 MySQL 版本

  1. 在软件商店中搜索 MySQL 搜索MySQL
  2. 选择目标版本(如 MySQL 8.0) 选择MySQL版本
  3. 根据需要选择【极速安装】或【编译安装】
  4. 等待安装完成 安装MySQL

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

根据之前记录的信息,重新创建数据库:

创建数据库

  • 进入【数据库】管理页面
  • 点击【添加数据库】
  • 输入数据库名、用户名、密码(与之前记录的信息一致) 创建数据库

修改 root 密码(可选)

  • 进入【数据库】管理页面
  • 点击【root密码】按钮,输入之前记录的 root 密码 修改root密码
  • 点击【确定】按钮,修改 root 密码

第五步:导入备份数据

导入数据库

  • 在数据库管理页面,点击对应数据库的【导入】按钮
  • 选择相应的备份文件(如果能看到备份文件,则直接选择,否则需要上传备份文件) 导入数据库
  • 等待导入完成

验证切换结果

第六步:验证 MySQL 版本

  1. 面板检查

    • 进入【软件商店】,确认新版本 MySQL 正在运行
    • 检查服务状态为“正在运行”
  2. 命令行验证(可选)

    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,可能需要修改认证方式:
    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 版本切换是一个需要谨慎操作的过程。按照本文档的步骤进行操作,可以最大程度确保数据安全和切换成功。记住: 备份是最重要的保障措施 ,在任何操作前都要确保有完整的数据备份。

Navigation

Type to search…

↑↓ navigate↵ selectEsc close