溫馨提示×

Ubuntu MariaDB數據遷移方案

小樊
45
2025-09-21 06:30:55
欄目: 云計算

Ubuntu環境下MariaDB數據遷移方案

一、遷移前準備

  1. 確認目標環境:確保目標Ubuntu服務器已安裝與源數據庫兼容的MariaDB版本(可通過sudo apt install mariadb-server安裝);若版本跨度較大(如10.2→10.6),建議先在測試環境驗證兼容性。
  2. 準備工作:遷移前停止源數據庫的寫入操作(如暫停應用服務),避免數據不一致;準備足夠的磁盤空間存儲備份文件。

二、源數據庫備份

使用mysqldump工具導出數據,支持全庫或單庫備份:

  • 全庫備份(適用于完整遷移):
    mysqldump -u root -p --all-databases > full_backup.sql
    
  • 單庫備份(適用于特定數據庫遷移):
    mysqldump -u root -p mydb > mydb_backup.sql
    
    執行后會提示輸入MariaDB root密碼,生成的.sql文件包含數據庫結構(表、視圖)和數據。

三、備份文件傳輸(跨服務器遷移)

若遷移至另一臺Ubuntu服務器,需將備份文件傳輸至目標服務器。使用scp命令(安全復制):

scp full_backup.sql user@target_server_ip:/path/to/destination

替換user為目標服務器用戶名、target_server_ip為目標服務器IP、/path/to/destination為目標路徑。

四、目標數據庫配置

  1. 安裝MariaDB(若未安裝):
    sudo apt update && sudo apt install mariadb-server
    
  2. 創建目標數據庫
    登錄目標服務器的MariaDB,創建與源數據庫同名的數據庫(可選):
    mysql -u root -p
    CREATE DATABASE mydb;  # 替換為源數據庫名
    
  3. 修改數據目錄(可選,本地遷移需調整路徑時)
    若需更改MariaDB數據存儲路徑(如從/var/lib/mysql遷移至/new/mysql),編輯配置文件/etc/mysql/mariadb.conf.d/50-server.cnf,修改datadir參數:
    [mysqld]
    datadir = /new/mysql
    
    同步原數據目錄至新路徑:
    sudo cp -a /var/lib/mysql/* /new/mysql/
    
    修改新目錄權限(確保MariaDB用戶mysql擁有所有權):
    sudo chown -R mysql:mysql /new/mysql
    
    重啟MariaDB服務使配置生效:
    sudo systemctl restart mariadb
    

    注:僅跨服務器遷移無需修改數據目錄。

五、數據導入與驗證

  1. 導入備份數據
    登錄目標服務器,使用mysql命令導入備份文件:
    mysql -u root -p mydb < full_backup.sql  # 替換為目標數據庫名和備份文件名
    
  2. 驗證數據完整性
    • 登錄MariaDB,檢查數據庫和表是否存在:
      USE mydb;
      SHOW TABLES;
      SELECT COUNT(*) FROM your_table;  # 替換為關鍵表名,核對記錄數
      
    • 檢查字符集一致性(避免亂碼):
      SHOW VARIABLES LIKE 'character_set%';
      SHOW VARIABLES LIKE 'collation%';
      
      若需調整字符集,可執行:
      ALTER DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      ALTER TABLE your_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      
  3. 測試應用連接
    更新應用程序的數據庫配置文件(如PHP的config.php、Python的settings.py),將數據庫地址、用戶名、密碼、數據庫名修改為目標值,重啟應用服務驗證連接。

六、遷移后注意事項

  1. 監控性能:遷移后觀察MariaDB的CPU、內存、磁盤IO使用情況(通過top、iotop、mysqladmin status命令),確保性能符合預期。
  2. 備份新數據庫:遷移完成后立即對新數據庫進行備份,避免數據丟失。
  3. 清理舊數據:確認遷移無誤后,刪除源服務器上的備份文件和舊數據目錄(如/var/lib/mysql),釋放磁盤空間。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女