Ubuntu 上升级 MariaDB 的标准步骤
一 升级前准备
mysqldump -u root -p --all-databases > /path/to/backup/all-databases.sql。如条件允许,同时进行文件系统级快照与配置文件备份(如 /etc/mysql/)。mysql -V、sudo apt update、apt-cache policy mariadb-server,确认现有版本与可升级版本。二 标准升级步骤(同系列小版本或跨版本)
sudo apt update && sudo apt upgrade。sudo nano /etc/apt/sources.list.d/mariadb.listdeb [arch=amd64,arm64,armhf] https://mirror.yandex.ru/mariadb/repo/10.5/ubuntu <UBUNTU_CODENAME> mainsudo apt update。sudo apt remove --purge mariadb-server mariadb-client(若担心风险,可跳过此步,直接执行安装以触发替换)。sudo apt install mariadb-server mariadb-clientsudo apt install mariadb-server=<VERSION>* mariadb-client=<VERSION>*(将 sudo systemctl start mariadb、sudo systemctl enable mariadb。sudo mysql_secure_installation(设置 root 密码、移除匿名用户、禁止远程 root 登录等)。mysql -V 或登录后执行 SELECT VERSION();。sudo mariadb-upgrade(MariaDB 10.4+ 提供该工具,用于升级系统表与存储引擎)。三 跨版本与特殊场景
user 表的 plugin 字段(如从 unix_socket 调整为 mysql_native_password)。四 回滚与常见问题
sudo systemctl stop mariadbsudo apt remove --purge mariadb-server mariadb-clientsudo apt install mariadb-server mariadb-clientsudo systemctl start mariadbmysql -u root -p < /path/to/backup/all-databases.sqlERROR 1524 (HY000): Plugin 'unix_socket' is not loaded),可按如下方式修复:
sudo systemctl stop mariadbsudo mysqld_safe --skip-grant-tables &mysql -u root,在 mysql 库执行
UPDATE user SET plugin='mysql_native_password' WHERE User='root';FLUSH PRIVILEGES;sudo systemctl restart mariadbsudo systemctl status mariadb 检查运行状态,使用 mysql -V 或 SELECT VERSION(); 校验版本。