在Windows Server 2008R2操作系統環境中,針對MySQL5.5數據庫的備份操作可通過官方提供的mysqldump工具高效實現。本文以已部署的WordPress網站為例,數據庫安裝路徑為D:\PHPWEB\MySQL Server 5.5,管理員賬號為root,密碼為123456,目標備份對象為WordPress網站數據庫。需特別說明的是,備份過程中無需停止MySQL服務,確保業務連續性的同時完成數據保護。
##### 1. 數據庫環境確認
通過命令行執行`mysql -uroot -p123456`登錄MySQL數據庫,成功后輸入`show databases;`可查看當前所有數據庫列表(如圖90所示)。亦可借助phpMyAdmin圖形化工具直觀確認數據庫及表結構(如圖91、92所示)。
##### 2. 單數據庫備份
進入MySQL安裝目錄的bin路徑(D:\PHPWEB\MySQL Server 5.5\bin),執行備份命令:
```bash
mysqldump -u 用戶名 -p 數據庫名 > 導出文件名
```
示例:`mysqldump -uroot -p123456 wordpress > test.sql`
命令執行成功后,系統無返回提示,目標文件test.sql將自動生成于當前目錄(如圖95-96所示)。若需指定備份路徑,可直接在命令中添加完整目錄,如`> D:\backup\wordpress.sql`。
##### 3. 全庫備份
若需備份服務器中所有數據庫,使用`--all-databases`參數:
```bash
mysqldump -uroot -p123456 --all-databases > allbackupfile.sql
```
執行后,allbackupfile.sql將包含所有數據庫的結構與數據(如圖97-98所示)。
##### 4. 特定表備份
針對單數據庫中的部分表,可在命令中直接指定表名:
```bash
mysqldump -uroot -p123456 數據庫名 表名1 表名2 > backupfile.sql
```
示例:備份WordPress數據庫中的wp_options和wp_posts表,生成backupfile.sql(如圖99-101所示)。
##### 5. 多數據庫備份
同時備份多個數據庫,需添加`--databases`參數并羅列數據庫名:
```bash
mysqldump -uroot -p123456 --databases db1 db2 db3 > multibackupfile.sql
```
該操作將生成包含指定數據庫完整信息的備份文件(如圖102-106所示)。
##### 1. 單數據庫定時備份
需實現每日凌晨2:00自動備份WordPress數據庫時,可創建批處理文件`backdb.bat`,內容如下:
```batch
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
D:\PHPWEB\MySQLServer5.5\bin\mysqldump --opt -uroot -p123456 wordpress > D:\db_backup\wordpress_backup.sql
@echo on
```
注意:MySQL安裝路徑中不得包含空格,否則可能導致命令執行失敗(如圖109所示)。
通過Windows任務計劃程序創建定時任務:打開“任務計劃程序”,創建基本任務,設置觸發器為“每天凌晨2:00”,操作為啟動`backdb.bat`,并確保任務以具有管理員權限的用戶運行(如圖110-114所示)。執行后,D:\db_backup目錄將生成備份文件(如圖114所示)。
##### 2. 全庫定時備份
全庫定時備份可通過`allbackdb.bat`批處理文件實現,內容如下:
```batch
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
D:\PHPWEB\MySQLServer5.5\bin\mysqldump --opt -uroot -p123456 --all-databases > D:\db_backup\allbackupfile.sql
@echo on
```
配置計劃任務后,每日凌晨2:00將自動生成全庫備份文件(如圖115-116所示)。
- 單數據庫備份:`mysqldump -uroot -p123456 數據庫名 > 備份路徑.sql`
- 多數據庫備份:`mysqldump -uroot -p123456 --databases db1 db2 > 備份路徑.sql`
- 特定表備份:`mysqldump -uroot -p123456 數據庫名 表名1 表名2 > 備份路徑.sql`
- 全庫備份:`mysqldump -uroot -p123456 --all-databases > 備份路徑.sql`
- 數據還原:`mysql -uroot -p123456 數據庫名 < 備份文件.sql`