萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql利用mysqldump定時自動備份mysql數據庫

mysql利用mysqldump定時自動備份mysql數據庫

對mysql數據庫進行定時備份在windows下我們可以使用mysqldump與xcopy來加計劃任務來自動備份,而linux中我們可以使用crontab+mysqldump來定時備份數據庫。

先來看windows中定時備份方法

方法一 mysqldump備份數據庫

新建一個文件,如 mysqldump.bat。
將下面代碼 寫入文件mysqldump.bat

 代碼如下 復制代碼

@echo off
set file_dir=d:/a
rem 備份文件所在的目錄
set file_name=%date:~0,10%-%time:~0,2%-%time:~3,2%-%time:~6,2%
rem 備份文件名
C:/mysql/bin/mysqldump.exe -u root -p123456 databasename> %file_dir%/%file_name%.sql
rem C:/mysql/bin/mysqldump.exe為mysqldump程序所在地址,root為用戶名,123456為密碼,
databasename為待備份的數據庫名

然後將mysqldump.bat加入到任務計劃中即可,設置每天指定時間來運行即可。“屬性”=》“高級”中,還可以設置“重復任務”


方法二,xcopy直接復制文件夾

1、復制date文件夾備份
============================
假想環境:
MySQL   安裝位置:C:/MySQL
論壇數據庫名稱為:bbs
數據庫備份目的地:C:/db_bak/
============================
新建db_bak.bat,寫入以下代碼

 代碼如下 復制代碼


*******************************Code Start*****************************
net stop mysql
xcopy c:/mysql/data/bbs/*.* c:/db_bak/bbs/%date:~0,10%/ /S /I
net start mysql
*******************************Code End *****************************


linux中定時備份方法

利用Linux的定時計劃功能(Cron)和MySQL的導出功能(mysqldump)

編輯 /etc/crontab:

 代碼如下 復制代碼

vim /etc/crontab

按順序加入如下兩個語句(帶了注釋):

 代碼如下 復制代碼

# remove all old backup files less than 29 days

10 2 1 * * root find /mnt/database/ -name '*.sql.gz' -type f -mtime -29 -mtime +7 -exec rm -f {} ;

# automatically backup mysql every day

15 2 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip > /mnt/database/`date +'/%Y-/%m-/%d'`.sql.gz

cron中任務計劃的格式為:

# m h dom mon dow user  command

即:

第一個數字表示分(minute);

第二個數字表示時(hour);

第三個數字表示天(day of month);

第四個數字表示月(month);

第五個數字表示分(day of week);

以上數字為*時表示不限。

接下來是執行命令的用戶和命令內容。

copyright © 萬盛學電腦網 all rights reserved