C:\MySQL(已加入 PATH)D:\backup_20240115.sqlREM 完整備份(含結構+資料)
mysqldump -u root -p123456 database_name > D:\backup_20240115.sql
REM 僅備份結構(無資料)
mysqldump -u root -p123456 -d database_name > D:\structure_only.sql
REM 備份多個資料庫
mysqldump -u root -p123456 --databases db1 db2 > D:\multi_db.sql
REM 全例備份(所有資料庫)
mysqldump -u root -p123456 --all-databases > D:\full_backup.sql
REM 壓縮備份(需安裝 gzip,如 Git Bash、Gow、Cygwin)
mysqldump -u root -p123456 database_name | gzip > D:\backup_20240115.sql.gz
REM 1. 進入 MySQL 建立目標資料庫(若不存在)
mysql -u root -p123456 -e "CREATE DATABASE IF NOT EXISTS database_name DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
REM 2. 導入
mysql -u root -p123456 database_name < D:\backup_20240115.sql
mysql -u root -p123456
mysql> USE database_name;
mysql> SOURCE D:/backup_20240115.sql;
REM 1. 刪除舊庫
mysqladmin -u root -p123456 DROP database_name
REM 2. 建立新庫
mysqladmin -u root -p123456 CREATE database_name
REM 3. 導入備份
mysql -u root -p123456 database_name < D:\backup_20240115.sql
CREATE DATABASE / USE 語句需與目標資料庫名一致,否則導入會建立錯誤庫或報錯。utf8mb4,避免中文亂碼。CREATE、DROP、INSERT 等權限的帳號。SET autocommit=0; 導入後 COMMIT;SET unique_checks=0; SET foreign_key_checks=0; 導入後開啟。max_allowed_packet。@echo off
set DATE_STR=%date:~,4%%date:~5,2%%date:~8,2%
set BACKUP_DIR=D:\mysql_backup
set DB_NAME=database_name
set USER=root
set PASS=123456
if not exist %BACKUP_DIR% mkdir %BACKUP_DIR%
mysqldump -u %USER% -p%PASS% %DB_NAME% > "%BACKUP_DIR%\%DB_NAME%_%DATE_STR%.sql"
REM 保留最近 7 天
forfiles /p %BACKUP_DIR% /m *.sql /d -7 /c "cmd /c del @path"
echo Backup completed: %DB_NAME%_%DATE_STR%.sql
掌握 Windows 命令列備份還原,配合排程器,輕鬆落地自動化備份策略。