Debian系統MariaDB版本升級指南
升級前必須備份數據,防止操作失誤導致數據丟失。推薦使用mysqldump
工具備份所有數據庫:
mysqldump -u root -p --all-databases > /path/to/full_backup.sql
或直接復制MariaDB數據目錄(需停止服務):
systemctl stop mariadb
cp -a /var/lib/mysql /var/lib/mysql.bak
systemctl start mariadb
注:備份文件需存儲在安全位置(如外部存儲設備或云存儲)。
確認當前安裝的MariaDB版本,確保升級路徑符合官方要求(如5.5→10.1→10.5→11.x):
mysql -u root -p -e "SELECT VERSION();"
或通過服務狀態查看:
systemctl status mariadb | grep "Version"
Debian默認倉庫的MariaDB版本可能滯后,需添加官方倉庫以獲取最新版本。
wget -qO - https://packages.mariadb.org/mariadb/release/signing-key.asc | sudo apt-key add -
注:若提示apt-key
已棄用,可將密鑰添加至trusted.gpg.d
目錄:
sudo mkdir -p /etc/apt/keyrings
sudo mv /usr/share/keyrings/mariadb.gpg /etc/apt/keyrings/
根據Debian版本(如Bookworm、Bullseye)替換$(lsb_release -cs)
(可通過lsb_release -cs
命令獲?。?/p>
echo "deb [arch=amd64,arm64] https://packages.mariadb.org/mariadb/repo/$(lsb_release -cs)/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mariadb.list
sudo apt update
使用apt
安裝最新版本的MariaDB Server,系統會自動處理依賴關系:
sudo apt install mariadb-server
注意:若已安裝舊版本,apt
會提示升級;若需指定版本(如11.5.2),可修改命令為:
sudo apt install mariadb-server=11.5.2-1~bookworm
升級過程中,系統可能提示配置文件(如/etc/mysql/mariadb.conf.d/50-server.cnf
)有沖突。選擇操作:
登錄MariaDB,檢查版本是否升級成功:
mysql -u root -p -e "SELECT VERSION();"
或直接在終端執行:
mariadb --version
確保升級后的配置生效:
sudo systemctl restart mariadb
檢查服務狀態:
sudo systemctl status mariadb
若升級跨度較大(如5.5→10.x),可能需要運行mysql_upgrade
工具修復表結構:
sudo mysql_upgrade -u root -p
注:較新版本的MariaDB(≥10.4)會自動執行此步驟,無需手動運行。
若遇到依賴沖突(如mariadb-server
與現有包沖突),可使用aptitude
工具解決:
sudo apt install aptitude
sudo aptitude install mariadb-server
根據提示選擇解決方案(如移除沖突包或保留當前版本)。
若升級后配置文件被覆蓋,可從備份中恢復:
cp /etc/mysql/mariadb.conf.d/50-server.cnf.bak /etc/mysql/mariadb.conf.d/50-server.cnf
或手動合并自定義配置(如bind-address
、innodb_buffer_pool_size
)。
檢查MariaDB錯誤日志(通常位于/var/log/mysql/error.log
),常見原因包括:
[mysqld]
段缺少閉合括號);mysql:mysql
擁有/var/lib/mysql
目錄的所有權);systemctl status mariadb
)和性能(如SHOW GLOBAL STATUS;
),確保無異常。