温馨提示×

MariaDB Linux版如何进行版本升级

小樊
65
2025-08-31 16:08:32
栏目: 云计算

MariaDB Linux版版本升级步骤

1. 升级前准备

  • 备份数据库:升级前必须备份所有重要数据,防止操作失误导致数据丢失。使用mysqldump工具导出所有数据库:
    mysqldump -u root -p --all-databases > full_backup.sql
    输入root密码后,会将所有数据库保存到full_backup.sql文件中。
  • 检查当前版本:确认当前MariaDB版本,确保升级路径符合官方要求(如10.3→10.4→10.5→10.6)。执行以下命令查看版本:
    mysql -u root -p -e "SELECT VERSION();"
  • 检查兼容性:阅读新版本的发行说明升级指南,确认新版本与现有应用程序、数据库结构(如存储引擎、SQL语法)兼容,避免升级后出现功能异常。

2. 添加MariaDB官方仓库

官方仓库提供最新的稳定版本及依赖包,需根据Linux发行版选择对应命令:

  • Ubuntu/Debian:下载并添加MariaDB的GPG密钥及对应版本的仓库文件。例如,升级到10.5版本(Ubuntu 22.04 LTS):
    wget -O /etc/apt/trusted.gpg.d/mariadb.gpg https://download.mariadb.org/MariaDB/mariadb_release_signing.key
    sudo add-apt-repository 'deb [arch=amd64,arm64] https://download.mariadb.org/MariaDB/repo/10.5/ubuntu jammy main'
    
  • CentOS/RHEL:导入MariaDB的GPG密钥并安装对应版本的仓库RPM包。例如,升级到10.5版本(CentOS 7):
    sudo yum install https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    sudo yum install https://yum.mariadb.org/10.5/centos7-amd64/rpm/MariaDB10.5-community.rpm
    
    添加仓库后,更新本地包缓存:
    • Ubuntu/Debian:sudo apt update
    • CentOS/RHEL:sudo yum update

3. 执行升级操作

方式一:使用包管理器升级(推荐,适用于大多数场景)

包管理器会自动处理依赖关系及版本升级,步骤简单且安全:

  • Ubuntu/Debian
    sudo apt install mariadb-server
    
    系统会自动检测当前版本并升级到仓库中的最新版本,若需指定版本(如10.6),可将命令改为:
    sudo apt install mariadb-server=10.6.5-1ubuntu22.04(版本号需与仓库一致)。
  • CentOS/RHEL
    sudo yum upgrade mariadb-server
    
    若需升级到特定版本(如10.6),需先禁用默认仓库并启用对应版本仓库,再执行升级。

方式二:手动下载安装包升级(适用于指定版本或无仓库场景)

若需升级到官方仓库未提供的版本,可手动下载RPM/DEB包并安装:

  • 下载安装包:从MariaDB官网下载所需版本的安装包(如RHEL 7的10.6.5版本):
    wget https://downloads.mariadb.org/other/mariadb-10.6.5/rhel7-amd64-server-10.6.5.0-rhel7-x86_64.rpm
  • 安装包:使用rpm(CentOS/RHEL)或dpkg(Ubuntu/Debian)安装:
    sudo yum localinstall mariadb-10.6.5.0-rhel7-x86_64.rpm  # CentOS/RHEL
    sudo dpkg -i mariadb-10.6.5-debian-bookworm-amd64.deb  # Debian/Ubuntu
    
  • 运行升级脚本:安装完成后,执行mysql_upgrade工具修复表结构及数据兼容性问题:
    sudo /usr/bin/mysql_upgrade -u root -p
    输入root密码后,脚本会自动检查并升级所有数据库。

4. 重启MariaDB服务

升级完成后,必须重启服务以应用新版本的更改:

  • Ubuntu/Debian:sudo systemctl restart mariadb
  • CentOS/RHEL:sudo systemctl restart mariadb

5. 验证升级结果

登录MariaDB命令行,检查版本号是否为新版本:

mysql -u root -p
mysql> SELECT VERSION();

若输出显示新版本(如10.6.5-MariaDB),则说明升级成功。

6. 恢复备份(可选,若升级前备份了数据)

若升级前备份了数据,且升级后无需保留旧版本数据,可直接恢复备份:
mysql -u root -p < full_backup.sql
输入密码后,备份数据会导入到新版本的MariaDB中。

注意事项

  • 停止服务:部分手动升级场景需先停止MariaDB服务(sudo systemctl stop mariadb),避免升级过程中数据损坏。
  • 卸载旧版本:手动升级时,可选择先卸载旧版本(sudo yum remove mariadb-server mariadb),再安装新版本,但需确保数据已备份。
  • 测试环境:生产环境升级前,务必在测试环境中验证升级流程,避免影响线上业务。
  • 日志监控:升级过程中关注MariaDB日志文件(/var/log/mysql/error.log/var/log/mariadb/mariadb.log),及时排查错误。

0