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
),優化性能。