温馨提示×

Debian MariaDB升级流程是什么

小樊
31
2025-11-15 11:39:33
栏目: 云计算

Debian 上升级 MariaDB 的标准流程


一 升级前准备

  • 备份与恢复演练:对数据、配置与权限进行完整备份,并在非生产环境验证可恢复性。
  • 选择升级路径:优先使用 Debian 官方仓库的同系列小版本升级;跨大版本(如 10.x → 11.x)建议先在测试环境验证,必要时采用 逻辑备份/物理备份 + 全新安装 + 导入 的方式降低风险。
  • 检查运行状态:确认 AppArmor/SELinux 策略、磁盘空间InnoDB 恢复日志等满足升级要求。
  • 准备回滚方案:保留旧版本包与数据快照,记录当前 my.cnf 关键参数,便于快速回退。

二 在线升级步骤(同系列小版本)

  1. 更新索引与系统
    • 执行:sudo apt update && sudo apt upgrade -y
  2. 查看当前版本
    • 执行:mariadb --version 或登录数据库执行 SELECT VERSION();
  3. 安装/升级 MariaDB 服务器与客户端
    • 执行:sudo apt install --only-upgrade mariadb-server mariadb-client
  4. 处理配置文件冲突
    • 若出现如 /etc/mysql/mariadb.conf.d/50-server.cnf 的变更提示,先选择 D 查看差异,再按需选择 Y/I(采用新版本)/N/O(保留当前)
  5. 重启服务
    • 执行:sudo systemctl restart mariadb
  6. 验证升级结果
    • 执行:mariadb --version 或登录数据库执行 SELECT VERSION();
  7. 可选:执行安全加固
    • 执行:sudo mysql_secure_installation(按需调整 root 远程、匿名用户、测试库等)

三 跨版本或离线升级

  • 使用 MariaDB 官方仓库(跨小版本/跨系列)
    1. 导入 GPG 密钥(新版工具优先使用 trusted.gpg.d 而非 apt-key)
      • 示例:wget -qO - https://packages.mariadb.org/mariadb/release/signing-key.asc | sudo gpg --dearmor | sudo tee /usr/share/keyrings/mariadb-archive-keyring.gpg >/dev/null
    2. 添加官方 APT 源(将 $(lsb_release -cs) 替换为你的发行代号,如 bookworm
      • 示例:echo "deb [signed-by=/usr/share/keyrings/mariadb-archive-keyring.gpg] https://packages.mariadb.org/mariadb/repo/$(lsb_release -cs)/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mariadb.list
    3. 更新索引并安装目标版本
      • 执行:sudo apt update && sudo apt install mariadb-server mariadb-client
    4. 处理配置冲突与重启服务(同上)
  • 离线环境
    1. 在可联网环境下载对应系统与版本的 .deb 包(如 mariadb-11.5.2-debian-bookworm-amd64-debs.tar
    2. 拷贝至目标服务器并解压:tar -xvf mariadb-11.5.2-debian-bookworm-amd64-debs.tar
    3. 进入目录执行:sudo ./setup_repository(若提示 /etc/apt/sources.list.d/mariadb.list 已存在,先备份或删除后再运行)
    4. 更新索引并升级:sudo apt update && sudo apt install mariadb-server mariadb-client
    5. 处理配置冲突与重启服务(同上)

四 升级后验证与常见问题

  • 服务与版本
    • 执行:sudo systemctl status mariadbmariadb --versionSELECT VERSION();
  • 错误日志
    • 检查:sudo journalctl -xeu mariadb/var/log/mysql/error.log,关注 InnoDB、插件、权限相关报错
  • 应用连通性
    • 验证应用连接池、字符集、SQL 模式、时区等是否兼容新版本
  • 回滚策略
    • 小版本回退:使用 apt install mariadb-server=<旧版本> 降级并重启
    • 跨大版本回退:优先用备份恢复到旧实例,避免直接跨大版本降级
  • 常见提示
    • 配置文件冲突:优先 D 查看差异,再决定 Y/IN/O
    • GPG 与仓库:新版 apt 不推荐使用 apt-key,请将密钥导入 /usr/share/keyrings/ 并在源中声明 [signed-by=…][1,5]

0