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

mysqldump備份MySQL數據庫完整指南:全庫/單庫/單表、結構/數據分離、crontab自動化

     編輯:MySQL 資料庫相關知識

備份重要性

誤刪核心數據(訂單、客戶資料)且無法重現 → **業務災難**。定期備份是底線。

mysqldump三大調用模式

# 1. 單庫
mysqldump [OPTIONS] database [tables]

# 2. 多庫
mysqldump [OPTIONS] --databases DB1 [DB2 DB3...]

# 3. 全庫
mysqldump [OPTIONS] --all-databases

實戰示例

  • 全庫備份:mysqldump -u root -p --all-databases > backup_$(date +%Y%m%d).sql
  • 單庫:mysqldump -u root -p wiki > wiki_backup.sql
  • 單表:mysqldump -u root -p wiki users > wiki_users_backup.sql

輸出文件含DROP TABLE IF EXISTS/CREATE TABLE/INSERT,還原極簡單。

內容精準控制

需求參數示例
僅結構--no-datamysqldump -u root -p --no-data wiki > wiki_schema.sql
僅數據--no-create-infomysqldump -u root -p --no-create-info wiki > wiki_data.sql

自動化:crontab + Shell腳本

  1. 建腳本nightly-backup.sh:
    #!/bin/sh
    mysqldump -uroot -psecret wiki > /home/backup/sql/wiki_backup_$(date +%m%d%Y).sql
  2. chmod +x nightly-backup.sh
  3. crontab -e添加:
    0 3 * * * /home/backup/scripts/nightly-backup.sh
    (每天凌晨3點)
  4. 次日核對/home/backup/sql/文件大小/行數/解壓測試

安全強化

  • 腳本權限600,密碼不落明文(可用--defaults-extra-file指向600的.my.cnf)
  • 備份文件異地複製(rsync/SCP/FTP/S3)
  • 定期**演練還原**,驗證備份可用性

其他備份選項

  • 二進制日誌增量備份(mysqlbinlog)
  • 主從複製(從庫做備份不影響主庫)
  • 物理備份Percona XtraBackup(熱備、不鎖表)

總結

幾分鐘搭建mysqldump + crontab基線備份,**成本極低、收益無價**。無備份=裸奔。

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