在 Linux 上升级 MariaDB,通常有以下几种常见方式,具体取决于你的发行版和安装方式。下面按场景给你说明。
mysql -V
# 或
mariadb -V
which mariadb
rpm -qa | grep mariadb # CentOS / RHEL
dpkg -l | grep mariadb # Debian / Ubuntu
如果你用的是 MariaDB 官方 repo:
sudo yum makecache
sudo yum update MariaDB-server MariaDB-client
或(新版本):
sudo dnf upgrade MariaDB-*
sudo yum update mariadb-server mariadb
sudo apt update
sudo apt install --only-upgrade mariadb-server mariadb-client
如果是官方 MariaDB repo:
sudo apt-get update
sudo apt-get install --only-upgrade mariadb-server
⚠️ 不能跳太多版本,建议逐级升级
mysqldump -u root -p --all-databases > all.sql
# 或物理备份
systemctl stop mariadb
cp -r /var/lib/mysql /var/lib/mysql.bak
# 修改 repo 到新版本
sudo yum update / apt upgrade
sudo systemctl start mariadb
mysql_upgrade
MariaDB 10.6+ 通常会自动执行
mysql_upgrade
sudo tee /etc/yum.repos.d/MariaDB.repo <<EOF
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.11/centos7-amd64
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
EOF
sudo yum makecache
sudo yum update MariaDB-server
sudo apt install software-properties-common
sudo add-apt-repository 'deb [arch=amd64] https://mirrors.aliyun.com/mariadb/repo/10.11/ubuntu focal main'
sudo apt update
sudo apt install mariadb-server
docker pull mariadb:10.11
docker stop mariadb
docker run -d \
--name mariadb \
-v /data/mysql:/var/lib/mysql \
mariadb:10.11
数据目录保持不变即可
mysql -V
mysql -e "SHOW VARIABLES LIKE 'version';"
mysqlcheck -u root -p --all-databases --check-upgrade
| 问题 | 解决 |
|---|---|
| 配置文件不兼容 | 对比 /etc/my.cnf 和新版示例 |
| 插件报错 | 执行 mysql_upgrade |
| 无法启动 | 查看 /var/log/messages 或 journalctl -xe |
如果你告诉我:
我可以给你精确升级命令。