Linux操作记录9--MariaDB升级笔记

这篇文章告诉你怎么从Amazon Linux2023自带的仓库里的老旧10.5升级到新的官方库的10.11

从10.5到10.11

备份

备份数据库数据

1
mysqldump -u root -p --all-databases > all_databases.sql

备份数据库配置文件

如 /etc/my.cnf、/etc/my.cnf.d/

备份数据目录

如cd /var/lib/mysql/

更换MariaDB仓库

创建/etc/yum.repos.d/MariaDB.repo, 内容如下

1
2
3
4
5
6
7
8
9
10
# MariaDB 10.11 RedHatEnterpriseLinux repository list - created 2025-06-30 09:25 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.11/rhel/$releasever/$basearch
baseurl = https://mirrors.neusoft.edu.cn/mariadb/yum/10.11/rhel/$releasever/$basearch
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://mirrors.neusoft.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

停止相关应用

1
2
systemctl stop zabbix-server
systemctl stop mysql

升级

1
2
3
sudo dnf clean all
sudo dnf makecache
sudo dnf upgrade

运行升级脚本

1
2
systemctl start mysql
sudo mysql_upgrade

这个命令是什么

sudo mysql_upgrade 命令用于升级 MySQL 或 MariaDB 数据库的系统表和数据结构,以确保它们与新安装的数据库服务器版本兼容。

主要作用
检查并修复系统表(如 mysql 库中的权限表)
升级系统表结构到新版本要求
检查和修复所有数据库表的兼容性
什么时候需要用?
数据库主版本升级后(如 10.5 → 10.11)
重大小版本升级后

总结:
mysql_upgrade 是数据库升级后必做的一步,确保数据和权限表与新版本兼容、正常运行

10.11升级11.4

https://mariadb.com/docs/server/server-management/install-and-upgrade-mariadb/upgrading/upgrading-from-to-specific-versions/upgrading-from-mariadb-10-11-to-mariadb-11-4

备份

备份数据库数据

1
mysqldump -u root -p --all-databases > all_databases.sql

备份数据库配置文件

如 /etc/my.cnf、/etc/my.cnf.d/

备份数据目录

如cd /var/lib/mysql/

更换MariaDB仓库

创建/etc/yum.repos.d/MariaDB.repo, 内容如下

1
2
3
4
5
6
7
8
9
10
# MariaDB 11.4 RedHatEnterpriseLinux repository list - created 2025-07-01 06:13 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
baseurl = https://rpm.mariadb.org/11.4/rhel/$releasever/$basearch
# baseurl = https://mirrors.neusoft.edu.cn/mariadb/yum/11.4/rhel/$releasever/$basearch
gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
# gpgkey = https://mirrors.neusoft.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

停止相关应用

1
2
systemctl stop zabbix-server
systemctl stop mysql

升级

1
2
3
sudo dnf clean all
sudo dnf makecache
sudo dnf upgrade

运行升级脚本

1
2
systemctl start mysql
sudo mariadb-upgrade

遇到的问题

暂时非常顺利