温馨提示×

如何升级Debian上的MariaDB版本

小樊
33
2025-12-17 02:39:40
栏目: 云计算

Debian 上升级 MariaDB 的完整步骤

一 升级前准备

  • 备份数据与配置:优先做逻辑备份(全库导出),必要时再做物理拷贝。示例:mysqldump -u root -p --all-databases > /tmp/all-databases.sql;物理备份可先停库后拷贝数据目录(如 /var/lib/mysql)到安全位置。升级前务必确认备份可用。
  • 检查现有版本:mysql --version 或登录 MariaDB 执行 SELECT VERSION();
  • 确认系统信息:确认 Debian 版本架构(如 amd64),以便选择匹配的 MariaDB 仓库。
  • 规划维护窗口:升级期间会重启数据库,业务需短暂停机或切换只读。
    以上备份与版本检查做法为通用前置步骤,强烈建议在升级前完成。

二 在线升级步骤(推荐)

  • 更新系统索引:sudo apt update && sudo apt upgrade -y
  • 安装/升级 MariaDB:sudo apt install mariadb-server mariadb-client
  • 重启服务:sudo systemctl restart mariadb
  • 验证版本:mysql --versionSELECT VERSION();
  • 可选安全加固:sudo mysql_secure_installation
    上述流程适用于在现有 Debian 仓库中直接升级到仓库提供的最新稳定版 MariaDB。

三 指定版本或跨小版本升级(使用 MariaDB 官方仓库)

  • 导入 MariaDB 仓库与 GPG 公钥(示例为 Debian 12 Bookworm;其他版本将 bookworm 替换为你的代号,如 bullseye):
    • 下载并解压官方仓库包(以 11.5.2 为例):
      wget https://dlm.mariadb.com/3895090/MariaDB/mariadb-11.5.2/repo/debian/mariadb-11.5.2-debian-bookworm-amd64-debs.tar
      tar -xvf mariadb-11.5.2-debian-bookworm-amd64-debs.tar
    • 进入目录并执行:sudo ./setup_repository(若提示 /etc/apt/sources.list.d/mariadb.list 已存在,先备份或删除后再运行)。
  • 升级 MariaDB:sudo apt-get update && sudo apt-get install mariadb-server
  • 处理配置文件冲突:升级时若遇到如 /etc/mysql/mariadb.conf.d/50-server.cnf 的变更,建议先 D 查看差异,再按需选择 Y/I(采用新版本)或 N/O(保留当前)。
  • 验证版本:mysql --versionSELECT VERSION();
    以上流程适用于需要精确指定 MariaDB 版本或官方仓库版本较新的场景。

四 离线环境升级

  • 在有网络的机器下载对应系统与架构的 MariaDB 官方 .deb 包(可按版本或最新稳定版),拷贝到目标服务器。
  • 在目标服务器解压并执行 sudo ./setup_repository 初始化仓库元数据。
  • 执行 sudo apt-get update && sudo apt-get install mariadb-server 完成安装/升级。
  • 验证版本并重启服务:mysql --versionsudo systemctl restart mariadbSELECT VERSION();
    该方式与在线流程一致,只是安装包来源为本地离线包。

五 升级后验证与回滚

  • 验证与优化:
    • 检查运行状态:sudo systemctl status mariadb
    • 登录验证:mysql -u root -p 并执行 SELECT VERSION();
    • 运行安全脚本(可选):sudo mysql_secure_installation
    • 检查/优化表:mysqlcheck --all-databases --check-upgrade,必要时执行 mysql_upgrade(新版本通常已自动处理,仅在提示时执行)。
  • 常见问题处理:
    • 配置文件冲突:升级时逐项比对差异,保留必要的自定义项。
    • 旧版本仓库干扰:升级完成后可移除不再使用的 MariaDB 源文件(如 /etc/apt/sources.list.d/mariadb.list),避免误装旧包。
  • 回滚方案:
    • 若有物理备份,可直接停库、恢复 /var/lib/mysql 目录并还原 my.cnf 配置;
    • 若有逻辑备份,重装旧版本后导入:mysql -u root -p < /tmp/all-databases.sql
      这些验证与回滚措施可最大限度降低升级风险。

0