Linux MariaDB版本升级步骤
导读:Linux MariaDB 版本升级步骤 一 升级前准备 完整备份:优先使用物理/逻辑一致的备份工具(如 mariabackup);若从 MySQL 升级或无法使用物理备份,使用 mysqldump --all-databases 导出全...
Linux MariaDB 版本升级步骤
一 升级前准备
- 完整备份:优先使用物理/逻辑一致的备份工具(如 mariabackup);若从 MySQL 升级或无法使用物理备份,使用 mysqldump --all-databases 导出全库;同时备份配置文件与密钥文件。
示例:mysqldump -u root -p --all-databases --routines --triggers --single-transaction > full_backup.sql - 版本与兼容性:记录当前版本(mysql -V 或 SELECT VERSION(); ),查阅目标版本的“升级注意事项/不兼容变更”,评估应用与存储引擎(如 MyISAM/InnoDB/Aria)影响。
- 维护窗口与回滚预案:选择低峰期,准备回滚包/快照/备份与回放脚本,确保可快速恢复。
- 资源与依赖:确认磁盘空间、内存与 I/O 充足,暂停批量任务与定时作业。
二 标准升级流程 APT 系 Ubuntu Debian
- 检查与备份:确认当前版本并做全量备份(见上节)。
- 导入官方 GPG 与仓库(以实际系统/版本为准):
wget -O /etc/apt/trusted.gpg.d/mariadb.gpg https://download.mariadb.org/MariaDB/mariadb_release_signing.key
sudo apt-key add /etc/apt/trusted.gpg.d/mariadb.gpg
sudo add-apt-repository ‘deb [arch=amd64] https://yum.mariadb.org/10.11/ubuntu $(lsb_release -sc) main’ - 更新索引并升级:
sudo apt-get update
sudo apt-get install mariadb-server mariadb-client - 重启与验证:
sudo systemctl restart mariadb
mysql -u root -p -e “SELECT VERSION(); ” - 配置文件变更处理:若出现 /etc/mysql/… 配置冲突,先备份原文件,按需选择“保留当前版本/安装维护者版本/查看差异”。
三 标准升级流程 YUM DNF 系 CentOS RHEL Fedora
- 备份与停库:执行全量备份,停止服务:sudo systemctl stop mariadb。
- 配置官方仓库(示例为 10.11,请按系统/版本调整):
sudo tee /etc/yum.repos.d/MariaDB.repo < < ‘EOF’
[mariadb]
name=MariaDB
baseurl=https://yum.mariadb.org/10.11/rhel$releasever-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF - 安装新版本:sudo yum install MariaDB-server MariaDB-client(或使用 dnf)。
- 系统表升级:sudo mysql_upgrade -u root -p(RHEL/CentOS 系列通常需要显式执行)。
- 启动与验证:sudo systemctl start mariadb & & mysql -V。
四 特殊场景
- 离线升级(无公网仓库):在 MariaDB 下载页获取对应系统的 .tar 离线包,解压后执行解压目录中的 ./setup_repository 生成 APT 源,然后 apt-get update & & apt-get install mariadb-server;遇到配置文件冲突先备份再按需选择覆盖策略。
- 二进制/源码就地升级(通用思路):停止旧实例,备份并迁移数据目录,解压新版本,创建/校正软链接与权限,启动后用 mysql_upgrade 升级系统表,最后重启并校验。
- Docker 容器:遵循“导出并重新导入”策略更稳妥。示例:
- 备份:docker exec some-mariadb mysqldump -u root -p --all-databases > full_backup.sql
- 启动新版本(挂载原数据卷):docker run --name mariadb_new -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=… -d mariadb:10.11
- 恢复:docker exec -i mariadb_new mysql -u root -p < full_backup.sql
- Galera/集群滚动升级:逐节点隔离→安全停库→升级软件包→执行升级工具→启动并重新加入集群;升级前用 SHOW VARIABLES LIKE ‘wsrep%’; 检查集群状态,升级后用 SELECT * FROM information_schema.GLOBAL_VARIABLES WHERE VARIABLE_NAME IN (‘version’,‘wsrep_cluster_size’); 校验版本与集群规模。
五 升级后验证与回滚
- 版本与状态:mysql -V 与 SELECT VERSION(); 确认新版本;检查服务与错误日志无异常。
- 系统表与权限:确认 mysql_upgrade 已成功执行,系统表字段/权限正常。
- 数据一致性与修复:对关键库表执行 CHECK TABLE … FOR UPGRADE; 必要时执行修复;在复制/集群场景,确认复制链路或 wsrep_local_state_comment=Synced、集群规模一致。
- 快速回滚:若出现异常,优先用备份恢复(物理备份用 mariabackup 还原,逻辑备份用 mysql < backup.sql 回放),或切回旧版本二进制与数据目录。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux MariaDB版本升级步骤
本文地址: https://pptw.com/jishu/764095.html
