Ubuntu系统上升级MariaDB的注意事项
mysqldump或mariabackup工具备份所有数据库(包括系统数据库如mysql),确保备份文件存储在安全位置(如外部存储或云存储)。例如:mysqldump -u root -p --all-databases > full_backup.sql 或 mariabackup --backup --user=root --password=your_password --target-dir=/backup/pre_upgrade。mysql -V或mariadb -V确认当前MariaDB版本,遵循官方推荐的逐步升级路径(如10.6→10.7→10.8→…→11.4),避免跨多个主版本直接升级(如10.6→11.4),减少兼容性风险。sudo apt update更新Ubuntu的软件包索引,确保后续安装的MariaDB版本与系统兼容。TINYINT(1)不再视为布尔类型,需改为BOOLEAN或显式处理;ENUM/SET类型的排序规则可能变化)。MyISAM迁移到InnoDB(InnoDB支持事务、崩溃恢复,是MariaDB的默认存储引擎);检查旧版存储引擎(如PBXT)是否仍在使用,若存在需迁移至支持的引擎(如InnoDB)。JSON_READ/JSON_WRITE、密码策略),升级前检查现有用户权限(SELECT user, host, privilege_type FROM information_schema.user_privileges;),规划如何适配新权限模型。apt包管理器升级MariaDB,确保依赖关系自动处理。步骤如下:
sudo apt install wget && wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup && chmod +x mariadb_repo_setup && sudo ./mariadb_repo_setup --mariadb-server-version="mariadb-11.4"。sudo apt update && sudo apt upgrade mariadb-server mariadb-client。sudo systemctl restart mariadb。sudo apt remove --purge mariadb-server),再按照官方文档安装新版本,最后运行mysql_upgrade工具升级系统表。mysql_upgrade -u root -p(输入root密码),检查并升级系统表结构(如mysql.user、mysql.db),确保与新版本兼容。sudo systemctl status mariadb),确认版本是否升级成功(mysql -u root -p -e "SELECT VERSION();")。SELECT COUNT(*) AS table_count FROM information_schema.tables WHERE table_schema NOT IN ('information_schema', 'mysql', 'performance_schema');。SELECT * FROM users LIMIT 10;、SELECT SUM(amount) FROM orders;),确保数据未丢失或损坏。mysqlcheck --user=root --password=your_password --all-databases检查表的一致性。sysbench等工具对比升级前后的响应时间、吞吐量(如sysbench --db-driver=mysql --mysql-user=root --mysql-password=your_password --mysql-db=test --table_size=1000000 --threads=8 oltp_read_write run)。tail -f /var/log/mysql/error.log),及时发现并解决潜在问题(如连接失败、语法错误)。sudo apt autoremove),释放磁盘空间;根据新版本特性调整配置文件(如innodb_buffer_pool_size、max_connections),优化性能。