首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 基礎冷備份入門:tar 指令備份與還原完整操作教學

     編輯:MySQL 資料庫相關知識

什麼是冷備份?

冷備份 指完全停止 MySQL 服務後,直接複製資料目錄檔案的備份方式。特點:

  • ✅ 操作最簡單、邏輯最清晰
  • ✅ 檔案層級一致性天然保證
  • ❌ 必須停機,業務中斷時間長
  • ❌ 檔案體積大(含索引、碎片),不適合大型資料庫

實驗環境準備

-- 建立測試資料
CREATE DATABASE larrydb;
USE larrydb;
CREATE TABLE class (cid INT, cname VARCHAR(30)) ENGINE=InnoDB;
CREATE TABLE stu (sid INT, sname VARCHAR(30), cid INT) ENGINE=MyISAM;
INSERT INTO class VALUES (1,'linux'),(2,'oracle');
INSERT INTO stu VALUES (1,'larry01',1),(2,'larry02',2);

冷備份標準流程

步驟 1:停止 MySQL 服務

/etc/init.d/mysqld stop

步驟 2:建立備份目錄並設定權限

mkdir /databackup
chown -R mysql:mysql /databackup

步驟 3:使用 tar 打包壓縮資料目錄

cd /databackup
tar -cvPzf mysql01.tar.gz /usr/local/mysql/data/
  • -c 建立新檔
  • -v 顯示過程
  • -P 保留絕對路徑
  • -z gzip 壓縮
  • -f 指定檔名

步驟 4:模擬災難 - 刪除所有資料檔

rm -rf /usr/local/mysql/data/*

此時嘗試啟動 MySQL 會失敗:ERROR! The server quit without updating PID file

步驟 5:還原資料

tar -xvPf mysql01.tar.gz

-x 解壓、-v 顯示、-P 保留絕對路徑、-f 指定檔案

步驟 6:啟動驗證

/etc/init.d/mysqld start
mysql -e "USE larrydb; SELECT * FROM class; SELECT * FROM stu;"

輸出顯示資料完整回覆,冷備份成功。

冷備份適用性評估

資料庫規模建議策略
< 10 GB冷備份可接受,停機時間可控
10 - 100 GB建議改用 LVM 快照或 mysqldump --single-transaction
> 100 GB必須採用物理熱備份,冷備份不切實際

進階提示

  • 權限保留: tar -P 可保留絕對路徑與權限,還原後無需額外 chown。
  • 排除暫存檔: 可加 --exclude='*.pid' --exclude='*.err' 減少備份體積。
  • 自動化腳本: 結合 cron + scp/rsync 異地備份,並保留多代版本(如每日保留 7 天、每週保留 4 週、每月保留 12 月)。

核心觀念: 冷備份是備份體系的基石,雖然生產環境鮮用於主庫,但極適合作為「最後防線」的離線備份副本,配合定期還原演練,構建多層次資料保護策略。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved