首頁  >  文章  >  資料庫  >  mysql資料庫備份的幾種方法

mysql資料庫備份的幾種方法

巴扎黑
巴扎黑原創
2017-07-19 11:17:431979瀏覽
  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 ****************** ***********

       然後使用Windows的「排程任務」定時執行該批次腳本即可。 (例如:每天凌晨3點執行back_db.bat)
    解釋:備份和還原的操作都比較簡單,完整性比較高,控制備份週期比較靈活,例如,用%date:~0,10%。此方法適合有獨立主機但對mysql沒有管理經驗的使用者。缺點是佔用空間比較多,備份期間mysql會短暫斷開(例如:針對30M左右的資料庫耗時5s左右),針對%date:~0,10%的用法參考           。


    2、mysqldump備份成sql檔案
    ==============
    假想環境:
    MySQL   安裝位置:C:\MySQL
    論壇資料庫名稱為:bbs
    MySQL root   密碼:123456
    資料庫備份目的地:D:\db_backup\


3、利用WinRAR對MySQL資料庫進行定時備份。 
對於MySQL的備份,最好的方法就是直接備份MySQL資料庫的Data目錄。下面提供了一個利用WinRAR來對Data目錄進行定時備份的方法。

首先當然要把WinRAR安裝到電腦上。

將下面的命令寫入到一個文字檔案裡

*************************** ****Code Start*****************************
net stop mysql

c:\ progra~1\winrar\winrar a -ag -k -r -s d:\mysql.rar d:\mysql\data

net start mysql
*********** ********************Code End**************************** *

儲存,然後將文字檔案的副檔名修改成CMD。進入控制面版,開啟計畫任務,雙擊「新增計畫任務」。在排程任務精靈中找到剛才的CMD文件,接著為這個任務指定一個運行時間和運行時使用的帳號密碼就可以了。
   這個方法缺點是佔用時間比較多,備份期間壓縮需要時間,mysql斷開比第一種方法更多的時間,但是對於檔案命名很好。


最近要用到mysql備份,就寫了shell腳本用來備份。

#!/bin/bash
#定义备份的数据库名称
database=***#定义备份的时间
currTime=$(date +%Y%m%d)
#备份存储目录
bakUrl=/opt/$database/db/$currTime

#备份文件名
databaseBakName=$database.$currTime.sql

#备份文件路径
databaseBakUrl=$bakUrl/$databaseBakName

#判断备份的文件夹是否存在
#这里的-d 参数判断备份存储目录是否存在  
if [ ! -d $bakUrl ]; 
then
   mkdir -p $bakUrl  
fi #这里的-f参数判断备份文件是否存在  
if [ ! -f $databaseBakUrl ]; 
then  
    mysqldump -u*** -hIP -p***  $database > $databaseBakUrlelserm -rf $databaseBakUrl
    mysqldump -u*** -hIP -p***  $database > $databaseBakUrlfi

為shell腳本命名為databasebak.sh

#賦予腳本權限 chmod u+x databasebak.sh


#

以上是mysql資料庫備份的幾種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn