萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

Linux 下 MySQL 平滑遷移到 MariaDB 圖文教程

MariaDB 作為 MySQL 社區分支,由原作者 Monty Widenius 主導,完全兼容 MySQL API/命令列,卻擁有開源永久授權、更多存儲引擎、更激進的優化特性。Google、Wikipedia、LinkedIn、Mozilla 等巨頭已全面遷移。本文以 Ubuntu 為例,演示「備份 → 卸載 MySQL → 安裝 MariaDB → 還原」全流程。

遷移前準備

注意:CentOS/RHEL 等 Fedora 系發行版可直接 yum swap mysql mariadb 自動替換,無需手動備份還原。本教程針對 Debian/Ubuntu 等需手動操作的系統。

1. 建立測試庫(可跳過)

mysql -u root -p
mysql> CREATE DATABASE linoxidedb;
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| linoxidedb         |
| mysql              |
| performance_schema |
| test               |
+--------------------+
mysql> QUIT

步驟一:完整備份現有數據

# 1. 開啟 Binlog(mysqldump --master-data 需要)
sudo vim /etc/mysql/my.cnf
# [mysqld] 區塊添加:
log-bin=mysql-bin

sudo /etc/init.d/mysql restart

# 2. 全庫備份
mysqldump --all-databases --user=root --password --master-data > backupdatabase.sql

mysqldump 報錯 Binlog 未開啟 備份成功輸出

步驟二:備份配置並卸載 MySQL

sudo cp /etc/mysql/my.cnf my.cnf.bak
sudo /etc/init.d/mysql stop
sudo apt-get remove mysql-server mysql-client

卸載 MySQL 過程

步驟三:安裝 MariaDB

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb https://mirror.mephi.ru/mariadb/repo/5.5/ubuntu trusty main'
sudo apt-get update
sudo apt-get install mariadb-server

添加倉庫與密鑰 安裝 MariaDB 過程 安裝提示保留舊配置

安裝時詢問是否保留現有 my.cnf,選擇 N(使用新版) 即可,稍後會還原備份配置。

步驟四:還原配置與數據

# 還原配置
sudo cp my.cnf.bak /etc/mysql/my.cnf

# 導入數據
mysql -u root -p < backupdatabase.sql

步驟五:驗證遷移結果

mysql -u root -p
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| linoxidedb         |  <-- 測試庫已遷移
| mysql              |
| performance_schema |
| test               |
+--------------------+

登錄 MariaDB 數據庫列表驗證

遷移後檢查清單

  • ✅ 所有業務表結構、數據完整
  • ✅ 存儲過程、觸發器、視圖正常
  • ✅ 用戶權限、密碼策略繼承
  • ✅ 慢查詢、錯誤日誌路徑生效
  • ✅ 應用端連接測試通過(驅動兼容、字符集、時區)

為什麼選擇 MariaDB?

維度MySQL (Oracle)MariaDB
授權部分閉源插件,未來不確定性GPL 永久開源
存儲引擎InnoDB 為主+ ColumnStore, Spider, RocksDB, MyRocks 等
並行複製5.7+ 基於邏輯時鐘更早實現、更成熟(slave_parallel_threads)
社區活躍度企業主導社區驅動,發布節奏快
遷移風險極低,收益明顯。建議先在測試環境全流程演練,制定回滾預案(保留 MySQL 數據目錄備份),再排期生產窗口操作。
copyright © 萬盛學電腦網 all rights reserved