linux

如何进行Linux MariaDB升级

小樊
38
2025-11-04 12:49:30
栏目: 云计算

一、升级前的准备工作

  1. 备份所有重要数据
    升级前必须备份数据库,防止数据丢失。常用mysqldump工具备份所有数据库:
    mysqldump -u root -p --all-databases > full_backup.sql
    
    也可使用mariabackup(MariaDB官方工具)进行物理备份(适用于大型数据库):
    sudo mariabackup --backup --user=mariabackup_user --password=mariabackup_passwd --target-dir=/data/backup/preupgrade_backup
    
  2. 检查当前MariaDB版本
    确认当前安装的版本,为后续兼容性检查做准备:
    mysql -u root -p -e "SELECT VERSION();"
    # 或
    mysql -V
    
  3. 检查系统兼容性与软件源
    • 确认新版本MariaDB与操作系统(如Ubuntu 22.04、CentOS 8)、应用程序及插件兼容(参考MariaDB官方升级指南)。
    • 添加MariaDB官方软件源(以Ubuntu 22.04升级到10.5为例):
      wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
      chmod +x mariadb_repo_setup
      sudo ./mariadb_repo_setup --mariadb-server-version "mariadb-10.5"
      sudo apt update
      

二、使用包管理器升级(推荐,适用于Ubuntu/CentOS等)

  1. 更新系统包列表
    确保系统获取到最新软件包信息:
    sudo apt update  # Debian/Ubuntu
    sudo yum update  # CentOS/RHEL
    
  2. 升级MariaDB
    使用包管理器自动处理依赖关系并升级:
    sudo apt install mariadb-server mariadb-client  # Debian/Ubuntu
    sudo yum upgrade mariadb-server mariadb-client  # CentOS/RHEL
    
  3. 重启MariaDB服务
    应用升级后的变更:
    sudo systemctl restart mariadb
    sudo systemctl enable mariadb  # 设置开机自启
    
  4. 运行升级脚本
    MariaDB升级后需执行mysql_upgrade(或mariadb-upgrade)修复表结构兼容性问题:
    sudo mysql_upgrade -u root -p
    # 或(新版本MariaDB中mysql_upgrade已整合到mariadb-upgrade)
    sudo mariadb-upgrade -u root -p
    

三、手动编译升级(适用于特定版本或自定义需求)

  1. 下载并解压新版本源码
    从MariaDB官网下载目标版本源码包(如11.5.2),并解压:
    wget https://dlm.mariadb.com/3895090/MariaDB/mariadb-11.5.2/source/mariadb-11.5.2.tar.gz
    tar xvf mariadb-11.5.2.tar.gz
    cd mariadb-11.5.2
    
  2. 编译并安装
    使用cmake配置编译选项,然后编译安装:
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/usr/local/mariadb/data
    make
    sudo make install
    
  3. 迁移数据与配置
    • 停止旧版本服务:sudo systemctl stop mariadb
    • 备份旧数据目录(如/usr/local/mariadb/data),将新版本数据目录复制到旧位置。
    • 修改配置文件(my.cnf),确保basedirdatadir指向正确路径。
    • 启动新版本服务:sudo /usr/local/mariadb/support-files/mysql.server start
  4. 运行升级脚本
    sudo /usr/local/mariadb/bin/mysql_upgrade -u root -p --force
    

四、升级后验证

  1. 检查版本
    确认升级成功:
    mysql -u root -p -e "SELECT VERSION();"
    # 或
    mysql -V
    
  2. 检查服务状态
    确保MariaDB服务正常运行:
    sudo systemctl status mariadb
    
  3. 验证数据完整性
    登录数据库,检查关键表是否能正常访问,数据是否完整。

五、注意事项

0
看了该问题的人还看了