一、升级前的准备工作
- 备份所有重要数据
升级前必须备份数据库,防止数据丢失。常用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 - 检查当前MariaDB版本
确认当前安装的版本,为后续兼容性检查做准备:mysql -u root -p -e "SELECT VERSION();" # 或 mysql -V - 检查系统兼容性与软件源
- 确认新版本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等)
- 更新系统包列表
确保系统获取到最新软件包信息:sudo apt update # Debian/Ubuntu sudo yum update # CentOS/RHEL - 升级MariaDB
使用包管理器自动处理依赖关系并升级:sudo apt install mariadb-server mariadb-client # Debian/Ubuntu sudo yum upgrade mariadb-server mariadb-client # CentOS/RHEL - 重启MariaDB服务
应用升级后的变更:sudo systemctl restart mariadb sudo systemctl enable mariadb # 设置开机自启 - 运行升级脚本
MariaDB升级后需执行mysql_upgrade(或mariadb-upgrade)修复表结构兼容性问题:sudo mysql_upgrade -u root -p # 或(新版本MariaDB中mysql_upgrade已整合到mariadb-upgrade) sudo mariadb-upgrade -u root -p
三、手动编译升级(适用于特定版本或自定义需求)
- 下载并解压新版本源码
从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 - 编译并安装
使用cmake配置编译选项,然后编译安装:cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/usr/local/mariadb/data make sudo make install - 迁移数据与配置
- 停止旧版本服务:
sudo systemctl stop mariadb - 备份旧数据目录(如
/usr/local/mariadb/data),将新版本数据目录复制到旧位置。 - 修改配置文件(
my.cnf),确保basedir和datadir指向正确路径。 - 启动新版本服务:
sudo /usr/local/mariadb/support-files/mysql.server start
- 停止旧版本服务:
- 运行升级脚本
sudo /usr/local/mariadb/bin/mysql_upgrade -u root -p --force
四、升级后验证
- 检查版本
确认升级成功:mysql -u root -p -e "SELECT VERSION();" # 或 mysql -V - 检查服务状态
确保MariaDB服务正常运行:sudo systemctl status mariadb - 验证数据完整性
登录数据库,检查关键表是否能正常访问,数据是否完整。
五、注意事项
- 依赖问题:若升级过程中出现依赖错误,运行
sudo apt install -f(Debian/Ubuntu)或sudo yum install -y(CentOS/RHEL)修复。 - 配置文件冲突:升级时若提示配置文件冲突(如
/etc/mysql/mariadb.conf.d/50-server.cnf),建议先备份旧配置,再选择“保留当前版本”(输入N)或“安装维护者版本”(输入Y),避免自定义设置丢失。 - 测试环境验证:生产环境升级前,务必在测试环境验证步骤,确保应用程序与新版本兼容。
- 监控日志:升级过程中关注
/var/log/mysql/error.log(或/var/log/mariadb/mariadb.log),及时处理错误信息。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1446377.html