- 首页 >
- 问答 >
-
云计算 >
- MariaDB在Debian上的升级步骤
MariaDB在Debian上的升级步骤
小樊
40
2025-12-07 04:39:00
Debian 上升级 MariaDB 的安全步骤
一 升级前准备
- 备份与快照
- 全量逻辑备份:对所有业务库执行 mysqldump,建议包含 --single-transaction --routines --triggers --events,并保存到离线/异地存储。
- 物理文件备份:备份数据目录(如 /var/lib/mysql)、配置文件(如 /etc/mysql/)、以及错误日志与慢查询日志。
- 如运行在虚拟机/云主机,创建系统快照以便一键回滚。
- 版本与仓库确认
- 查看当前版本:mysql --version 或 mariadb --version;记录现有仓库源(/etc/apt/sources.list.d/ 下 MariaDB 相关条目)。
- 规划目标版本:优先选择当前 Debian 稳定版仓库中的 MariaDB 版本,避免跨大版本跳跃;跨主版本升级需额外评估与测试。
- 维护窗口与回滚预案
- 选择低峰时段执行,设置回滚触发条件(升级失败、关键业务检查不通过即回滚)。
- 准备回滚方案:保留旧版本包与数据目录快照;必要时用备份快速恢复。
- 依赖与兼容性检查
- 确认应用、ORM/驱动、备份工具(如 xtrabackup/mariabackup)、监控告警对目标 MariaDB 版本的兼容性。
- 如系统存在 SELinux/AppArmor,确认策略允许新版本 MariaDB 运行。
二 就地升级步骤(同版本系列内)
- 更新索引与系统包
- sudo apt update && sudo apt upgrade -y
- 仅升级 MariaDB 相关包
- sudo apt install --only-upgrade mariadb-server mariadb-client -y
- 处理配置文件冲突
- 若出现如 /etc/mysql/mariadb.conf.d/50-server.cnf 的“已修改 vs 维护者版本”提示,建议先选 D 查看差异,再按需选择 Y/I(采用新版本) 或 N/O(保留当前),避免误覆盖关键自定义。
- 重启服务并验证
- sudo systemctl restart mariadb
- mysql -V 或登录 MariaDB 执行 SELECT VERSION(); 确认版本号
- 检查服务状态:sudo systemctl status mariadb;按需查看错误日志(/var/log/mysql/error.log)。
三 跨版本或指定版本升级(更换仓库)
- 准备新仓库
- 方式 A(官方仓库脚本):下载并运行 MariaDB 提供的仓库设置脚本(会创建 /etc/apt/sources.list.d/mariadb.list)。如文件已存在,先备份后执行,避免冲突。
- 方式 B(手动添加):在 /etc/apt/sources.list.d/ 新建 mariadb.list,写入对应 Debian 代号与版本仓库,例如 Debian bookworm 可用 MariaDB 11.5 仓库;导入 GPG 公钥到受信任密钥环目录(/etc/apt/trusted.gpg.d/),注意 apt-key 已弃用。
- 执行升级
- sudo apt update
- 建议先仅升级服务器包:sudo apt install mariadb-server
- 如需同步客户端工具:sudo apt install mariadb-client
- 重启服务:sudo systemctl restart mariadb
- 验证
- mysql -V 与 SELECT VERSION(); 核对目标版本;检查错误日志与系统资源。
四 升级后验证与常见问题
- 功能与数据验证
- 校验表与索引:CHECK TABLE …; 对 InnoDB 可校验一致性。
- 抽样回归关键业务查询/报表,确认执行计划与结果一致。
- 验证复制(如启用):SHOW SLAVE STATUS\G / SHOW REPLICA STATUS\G,确认 Seconds_Behind_Master 为 0 且无错误。
- 常见故障与处理
- 配置冲突:升级时选择保留本地配置,升级后按需合并差异,再逐步启用新参数。
- 权限/认证变化:部分版本升级后可能调整认证插件或本地 root 登录方式,必要时执行 mysql_secure_installation 或调整用户插件/host。
- 启动失败:优先查看 /var/log/mysql/error.log,常见为权限、磁盘空间、InnoDB 日志/表空间不兼容等;必要时用备份回滚到升级前状态。