OneinStack 內建 upgrade_db.sh 提供生產級資料庫就地升級能力,嚴格限制同主版本(如 5.6.25→5.6.26、10.0.20→10.0.21),禁止跨大版本或跨分支(MySQL↔MariaDB↔Percona),保障兼容性。本文解析腳本核心邏輯、使用前提、操作流程與關鍵參數。
mysqldump --all-databases。# 1. 備份舊版配置 cp oneinstack/options.conf ./ # 2. 刪除舊版代碼目錄 rm -rf oneinstack # 3. 下載最新版 wget https://mirrors.linuxeye.com/oneinstack-full.tar.gz tar xzf oneinstack-full.tar.gz # 4. 還原配置(必須用舊版 options.conf) mv options.conf ./oneinstack # 5. 進入目錄執行升級 cd oneinstack ./upgrade db
mysql -V 輸出,判斷 MySQL/MariaDB/Percona 及版本號。options.conf,失敗重試。mysqldump -uroot -p$pwd --opt --all-databases > DB_all_backup_$(date +%Y%m%d).sqllinux 或 linux-glibc_214。LATEST 源碼包。{_old_日期} → 解壓/編譯/安裝新版 → 初始化數據目錄 mysql_install_db → 啟動服務 → 導入備份 SQL → 重啟 → 清理 test 库、reset master。You have successfully upgrade from X to Y。linux (glibc < 2.14) 和 linux-glibc_214,腳本自動判斷。libjemalloc.so / libtcmalloc.so,自動注入 LD_PRELOAD 到 mysqld_safe。DROP DATABASE test; RESET MASTER;。src/ 目錄。OneinStack 升級腳本將複雜的編譯安裝、備份遷移、參數遞移封裝為標準化流程,嚴格的版本檢查機制有效規避兼容性風險,是中小團隊資料庫版本管理的利器。