Ubuntu 上 MariaDB 的升级与维护建议
一 升级策略与准备
mysqldump -u root -p --single-transaction --routines --triggers --all-databases > backup.sqlsudo systemctl stop mariadb && sudo cp -a /var/lib/mysql /var/lib/mysql.bak-$(date +%F)sudo tar czf mariadb-conf-$(date +%F).tgz /etc/mysql /etc/my.cnf* /var/log/mysql二 就地小版本升级步骤
sudo apt update && sudo apt upgradesudo mysql_upgrade -u root -p(必要时加 --force),检查并修正不兼容的 SQL_MODE、存储引擎与视图定义。sudo systemctl restart mariadbmysql -V 或 SELECT VERSION();三 跨版本或跨源升级步骤
echo "deb [arch=amd64] https://mirror.yandex.ru/mariadb/repo/10.5/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/mariadb.listsudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8sudo apt update && sudo apt install mariadb-server mariadb-clientmysql_upgrade,重启服务,核验版本与复制状态。ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded,可临时以 --skip-grant-tables 启动,调整 mysql.user 的 plugin 为 mysql_native_password 并重置密码后恢复。四 日常维护与监控
sudo mysql_secure_installation,设置 root 强密码、移除匿名用户、禁止远程 root、删除测试库。五 常见问题与回滚
.frm 等;必要时以旧版本数据目录回滚并重新评估升级路径。user 表的 host、plugin、authentication_string,必要时重置。/var/lib/mysql.bak-<date>;