Ubuntu 上升级 MariaDB 的完整步骤
一 升级前准备
mysqldump -u root -p --all-databases --routines --triggers --single-transaction > /path/to/backup/all-databases.sql。如条件允许,停机后做文件系统级快照。mysql -V、sudo systemctl status mariadb,并备份 /etc/mysql/、/var/lib/mysql/(注意权限与属主)。二 标准升级步骤(同一主版本内)
sudo apt update && sudo apt upgrade -y。sudo apt install mariadb-server mariadb-client。sudo systemctl restart mariadb。sudo mysql_secure_installation。mysql -u root -p -e "SELECT VERSION();"。mysql -u root -p < /path/to/backup/all-databases.sql。三 跨主版本或跨发行版升级
echo "deb [arch=amd64] https://mirror.yandex.ru/mariadb/repo/10.11/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/mariadb.list。sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8。sudo apt update && sudo apt install mariadb-server mariadb-client。sudo mysql_upgrade -u root -p(该步骤会检查并升级系统表结构、存储引擎等)。sudo systemctl restart mariadb 并核验版本。四 常见问题与处理
mysqld_safe --skip-grant-tables &;USE mysql; UPDATE user SET plugin='mysql_native_password' WHERE User='root'; FLUSH PRIVILEGES;(如需保留 socket 认证,可改为设置 plugin='unix_socket');mysqldump 逻辑迁移,避免系统表不兼容。五 回滚与验证
SELECT VERSION(); 与目标一致;/var/log/mysql/error.log 是否存在异常;