實現MySQL的自動備份

2021-12-29 23:38:43 字數 2457 閱讀 4258

mysql資料庫的備份是非常重要的工作之一,通過mysql資料庫的資料備份就能夠實現mysql資料庫中資料的絕對安全,mysql資料庫中的資料不會因為什麼小故障而丟失,自動備份則是更為方便的一種備份方式,下文中將給出詳細的解析。

mysql自動備份是非常關鍵的,特別是對於dba來說。這裡主要用**來說明這個問題,希望對各位有所幫助。可以將這個指令碼放進crontab,每天凌晨執行一次,自動備份。

這個指令碼每天最多隻執行一次,而且只保留最近五天的備份在伺服器上。

**:#!/bin/bash

#thisisashellscriptforautodbbackup

#poweredbyaspbiz

#2004-09

#setting

#設定資料庫名,資料庫登入名,密碼,備份路徑,日誌路徑,資料檔案位置,以及備份方式

#預設情況下備份方式是tar,還可以是mysqldump,mysqldotcopy

#預設情況下,用root(空)登入mysql資料庫,備份至/root/db***xx.tgz

dbname=mysql

dbuser=root

dbpasswd=

backuppath=/root/

logfile=/root/db.log

dbpath=/var/lib/mysql/

#backupmethod=mysqldump

#backupmethod=mysqlhotcopy

#backupmethod=tar

#settingend

newfile="$backuppath"db$(date+%y%m%d).tgz

dumpfile="$backuppath"db$(date+%y%m%d)

oldfile="$backuppath"db$(date+%y%m%d--date=5daysago).tgz

echo"-------------------------------------------">>$logfile

echo$(date+"%y-%m-%d%h:%m:%s")>>$logfile

echo"--------------------------">>$logfile

#deleteoldfile

if[-f$oldfile]

then

rm-f$oldfile>>$logfile2>&1

echo"[$oldfile]deleteoldfilesuccess!">>$logfile

else

echo"[$oldfile]nooldbackupfile!">>$logfile

fiif[-f$newfile]

then

echo"[$newfile]thebackupfilei***ists,cantbackup!">>$logfile

else

case$backupmethodin

mysqldump)

if[-z$dbpasswd]

then

mysqldump-u$dbuser--opt$dbname>$dumpfile

else

mysqldump-u$dbuser-p$dbpasswd--opt$dbname>$dumpfile

fitarczvf$newfile$dumpfile>>$logfile2>&1

echo"[$newfile]backupsuccess!">>$logfile

rm-rf$dumpfile

mysqlhotcopy)

rm-rf$dumpfile

mkdir$dumpfile

if[-z$dbpasswd]

then

mysqlhotcopy-u$dbuser$dbname$dumpfile>>$logfile2>&1

else

mysqlhotcopy-u$dbuser-p$dbpasswd$dbname$dumpfile>>$logfile2>&1

fitarczvf$newfile$dumpfile>>$logfile2>&1

echo"[$newfile]backupsuccess!">>$logfile

rm-rf$dumpfile

/etc/init.d/mysqldstop>/dev/null2>&1

tarczvf$newfile$dbpath$dbname>>$logfile2>&1

/etc/init.d/mysqldstart>/dev/null2>&1

echo"[$newfile]backupsuccess!">>$logfile

esac

fiecho"-------------------------------------------">>$logfile

關於mysql資料庫的自動備份就為大家介紹到這裡,大家按照上文中講解的步驟方法去進行mysql資料庫的自動備份工作,相信您一定可以很好的完成mysql資料庫的自動備份工作。

Linux 實現自動備份mysql

原理 利用linux的cron程序 用於定時執行任務 來定時呼叫mysql的備份工具mysqldump 實現自動備份。cron需要用crontab工具來管理。一 檢查linux中是否有安裝crontab 輸入 crontab l 如果顯示 command not found 說明沒有裝crontab...

mysql 自動備份許可權 Mysql 自動備份

很簡單的乙個自動備份方案 bas 件 backup.sh bin bash dbuser root dbpwd 123456 dbname jam00 delbackpath usr local mysql backup dbname date d 7 days ago y m d sql.gz r...

mysql自動備份開啟 MySQL自動備份

mysql user root 使用者名稱 mysql password password 密碼 mysql host localhost ip mysql port 3306 埠號 mysql charset utf8 編碼方式 backup db arr db name 要備份的資料庫名稱,多個...