首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 資料庫備份與還原:mysqldump 實戰指南

     編輯:MySQL 綜合教學

MySQL 資料庫備份與還原:mysqldump 實戰指南

mysqldump 基本用法

mysqldump -h host -u user -p password db_name [tbl_name ...] > backup.sql
  • -h:主機(本機可用 localhost,遠程用 IP)。
  • -u:用戶名。
  • -p:密碼(緊跟 -p 或回車輸入)。
  • db_name:目標資料庫。
  • >:Shell 重導向,將輸出寫入文件。

常見備份場景

需求命令範例
備份單庫結構+資料mysqldump -uroot -p db1 > db1_full.sql
僅備份結構(不含資料)mysqldump -uroot -p -d db1 > db1_struct.sql
備份單表mysqldump -uroot -p db1 tbl1 > tbl1.sql
備份所有庫mysqldump -uroot -p --all-databases > all.sql
含存儲過程/函數/觸發器mysqldump -uroot -p -R db1 > db1_with_routines.sql
單事務一致性備份(InnoDB)mysqldump -uroot -p --single-transaction db1 > db1_consistent.sql
壓縮輸出mysqldump -uroot -p db1 | gzip > db1.sql.gz

還原操作

  1. 登入 MySQL:mysql -uroot -p
  2. 建立目標庫(若不存在):CREATE DATABASE db2;
  3. 切換庫:USE db2;
  4. 執行腳本:SOURCE /path/db1_full.sql; 或 Shell 下 mysql -uroot -p db2 < db1_full.sql

關鍵提示

  • 備份文件為 SQL 腳本,含 CREATE TABLE、INSERT 等語句,**還原前目標庫必須為空**,否則主鍵衝突報錯。
  • 大庫還原建議關閉二進制日志(SET sql_log_bin=0;)與外鍵檢查(SET foreign_key_checks=0;)加速。
  • 定期驗證備份可用性:建立臨時庫執行還原,抽樣核對行數、檢查和。
  • Windows 環境需將 mysqldump.exe 所在目錄加入 PATH,或使用完整路徑調用。

自動化備份腳本雛形

#!/bin/bash
# daily_backup.sh
DATE=$(date +%F)
mysqldump -uroot -p'pwd' --single-transaction --routines --triggers --events db1 | gzip > /backup/db1_${DATE}.sql.gz
# 保留 7 天
find /backup -name 'db1_*.sql.gz' -mtime +7 -delete
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved