mysql資料庫定時備份
利用UCache災備雲平台,可作為一個工具,在window伺服器現有架構不變的情況下,針對Mysql資料庫每天自動備份定時備份。
(1)新建備份任務
UCACHE災備雲控制台登錄賬號後:點擊【伺服器定時數據保護】--【數據備份】點擊【新建】按鈕,然後選要保護的對象(您的生產伺服器節點),選中對應的客戶端,選擇【文件系統】然後點擊【 下一步 】
(2)設置備份策略
選擇要進行備份的文件
(3)永久增量備份與數據保留設置
選擇完要過濾的數據之後點擊下一步,可進行下一步備份的高級功能選擇,各個選項說明如下:
【永久增量備份】開啟了永久增量備份每一次增量備份都會進行一次時間點合成形成新的一個永久增量時間點等效於完備時間點。
【數據保留策略】開啟數據保留策略一共有三種保留策略分別為數據保留期限、保留副本數、按備份策略的備份周期設置副本保留策略默認選中數據保留期限一年。可以設置保留完全副本的個數最大可設置1024個副本按備份策略的備份周期設置副本保留策略最大可設置99999個副本。
【傳輸和存儲加密】開啟傳輸加密與存儲加密選項開啟此功能的任務的數據在傳輸和存儲上都經過加密處理。一共有兩種加密方式AES256加密演算法、SM4加密演算法。
【數據壓縮】默認不開啟開啟該選項後默認啟用快速壓縮可選擇啟用強力壓縮
【重復數據刪除】勾選該選項可以啟動源端重復數據刪除的功能該選項在建立任務後不能通過修改任務的方式更改此屬性。指紋庫需要提前創建才能成功開啟重刪功能
最後新建完成
目錄和文件內容,可以全選和分選,還可以利用UCACHE災備雲控制台的「文件過濾」「目錄過濾」「時間過濾」功能進行不必要的數據不進行備份策略添加。為了備份效率不建議兩個任務包含同一文件。
(4)設置郵件告警
備份執行完畢,會得到系統的執行反饋,也可以設定告警監控策略,進行郵件監控
Ⅱ 如何在linux下實現mysql資料庫每天自動備份
方法/步驟
1. 在根目錄下新建定時備份存儲文件夾mkdir /mysql_backup
2.新建備份的腳本vim /root/mysql_backup.sh
3.在mysql_backup.sh中輸入內容:
backupdir=/mysqlbackup time=` date +%Y%m%d%H`mysqlmp -uroot -proot abc | gzip > $backupdir/abc$time.sql.gzfind $backupdir -name 「abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
——————————————————————————————
說明:
backupdir = 備份文件存儲文件夾time = 獲取當前時間 年月日時(2014111417)2014年11月14日17點mysqlmp 備份資料庫指令 abc要備份的資料庫find $backupdir -name 「abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1 刪除5天前的備份文件
3 :wq 文件保存成功後
先按一下鍵盤上的 " esc " 然後輸入 」 :wq 「
執行一下腳本,看根目錄下的mysql_backup文件夾是否有.sql.gz後綴名的文件
./mysql_backup.sh
寫入每天的定時任務 修改 /etc/crontabvi /etc/crontab
按鍵盤上的"i",開始輸入
02 4 * * * root /root/mysql_backup.sh
表示每天4點2分執行備份任務
先按一下鍵盤上的 " esc " 然後輸入 」 :wq 「 表示保存
8
重新啟動crond
service crond restart 或 /etc/rc.d/init.d/crond restart
Ⅲ 如何定時備份Mysql資料庫
資料庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的資料庫,最好還是設置下自動備份。
工具/原料
navicat for mysql
mysql 5.5
方法/步驟
打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。
Ⅳ mysql自動備份
為了避免服務掛掉,資料庫無法恢復,搞個腳本做資料庫備份。核心的東西就是一個命令:mysqlmp
首先寫一個自動備份的shell腳本:
升級版本1:壓縮文件
如果gzip未安裝需要安裝gzip
升級版本2:防止鎖表
升級版本3:備份多個庫
升級版本4:刪除過期數據
添加系統定時任務:
over!
Ⅳ 怎樣定時進行mysql資料庫流水日誌數據備份
假想環境:
1. MySQL安裝位置:D:\Program Files\MySQL\MySQL\MySQL Server 5.0
2. 資料庫名稱:mlsite
3. 資料庫備份目的地:E:\db_backup\mlsite
操作原理:
1. 在MySQL的安裝文件夾下,有data文件夾,data文件夾中存放資料庫中的數據,這里以mlsite資料庫為例,因此data文件夾下有mlsite這個文件夾,mlsite文件夾下是mlsite資料庫的所有數據表的結構信息。在data文件夾下有一個idbata1這個文件是真正的數據文件。因此在備份時一定要對此文件進行備份。
2. 編寫批處理文件,實現上面的文件備份工作。利用Windows 的任務計劃功能定時啟動批處理文件進行備份。
操作步驟:
1. 編寫批處理文件dabak.bat,實現備份文件的拷貝功能。源程序見附件。
2. 選擇開始->控制面板->任務計劃……..請自己按說明操作。
代碼部分:
1. 源程序:[1、2、3、4、5是為了注釋而用]
1)net stop mysql
2)mkdir E:\db_backup\mlsite\"%date:~4,10%"
3)x D:\"Program Files"\MySQL\"MySQL Server 5.0"\data\ibdata1 E:\db_backup\mlsite\"%date:~4,10%"\/y
4)x D:\"Program Files"\MySQL\"MySQL Server 5.0"\data\mlsite\*.* E:\db_backup\mlsite\"%date:~4,10%"\/y
5)net start mysql
特別說明,需要使用引號。
2. 解釋:
1) 關閉Mysql服務
2) 創建備份目錄
3) 拷貝ibadata1到備份目錄下,注意Program Files上打了引號,是因為若不打引號會出現參數錯誤,原因是因為x的參數是前面是源地址+空格+目標地址,如果不打引號,Program Files上有空格,會對這個命令產生影響
4) 拷貝mlsite其它文件到備份目錄下
5) 開啟mysql服務
Ⅵ Mysql資料庫備份的幾種方法
1、復制date文件夾備份
============================
假想環境:
MySQL 安裝位置:C:\MySQL
論壇資料庫名稱為:bbs
資料庫備份目的地:C:\db_bak\
============================
新建db_bak.bat,寫入以下代碼
*******************************Code Start*****************************
net stop mysql
x 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、mysqlmp備份成sql文件
==============
假想環境:
MySQL 安裝位置:C:\MySQL
論壇資料庫名稱為:bbs
MySQL root 密碼:123456
資料庫備份目的地:D:\db_backup\
腳本:
rem *******************************Code Start*****************************
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
C:\MySQL\bin\mysqlmp --opt -u root --password=123456 bbs > D:\db_backup\bbs_%Ymd%.sql
@echo on
rem *******************************Code End*****************************
將以上代碼保存為backup_db.bat
然後使用Windows的「計劃任務」定時執行該腳本即可。(例如:每天凌晨5點執行back_db.bat)
說明:此方法可以不用關閉資料庫,並且可以按每一天的時間來名稱備份文件。
通過%date:~5,2%來組合得出當前日期,組合的效果為yyyymmdd,date命令得到的日期格式默認為yyyy-mm-dd(如果不是此格式可以通過pause命令來暫停命令行窗口看通過%date:~,20%得到的當前計算機日期格式),所以通過%date:~5,2%即可得到日期中的第五個字元開始的兩個字元,例如今天為2009-02-05,通過%date:~5,2%則可以得到02。(日期的字元串的下標是從0開始的)
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文件
隨著資料庫在網站建設中的不斷應用,現如今絕大多數網站已經離不開資料庫支持了,因為資料庫不僅可以存儲網站內容等信息,還可以存儲用戶提交的信息。由於這些信息非常寶貴,一旦丟失幾乎難以挽回。
所有站長不僅要注意備份伺服器上的網頁html文件,圖片或者程序代碼,還要對資料庫文件優先進行備份。
最簡單的資料庫備份可以通過phpMyAdmin手動備份並下載文件到指定位置,但是對於那些需要每天及時備份的站長來說,手動備份資料庫比較麻煩,所以本文講解一下如何利用國外主機的時鍾程序配合shell命令代碼實現每天定時備份資料庫文件並下載到指定目錄。
shell備份資料庫
首先創建一個文件命名為:「backup.sh」,在其中輸入以下命令:
#!/bin/bash
# Set a value that we can use for a datestamp
DATE=`date +%Y-%m-%d` $
# Our Base backup directory
BASEBACKUP="/backup/daily"
for DATABASE in `cat /backup/db-list.txt`
do
# This is where we throw our backups.
FILEDIR="$BASEBACKUP/$DATABASE"
# Test to see if our backup directory exists.
# If not, create it.
if [ ! -d $FILEDIR ]
then
mkdir -p $FILEDIR
fi
echo -n "Exporting database: $DATABASE"
mysqlmp --user=root --opt $DATABASE | gzip -c -9 > $FILEDIR/$DATABASE-$DATE.sql.gz
echo " ......[ Done Exporting to local backup, now exporting for remote backup] "
cp $FILEDIR/$DATABASE-$DATE.sql.gz /backup/uploads/$DATABASE.sql.gz
echo " .......[Done]"
done
# AutoPrune our backups. This will find all files
# that are "MaxFileAge" days old and delete them.
MaxFileAge=4
find $BASEBACKUP -name '*.gz' -type f -mtime +$MaxFileAge -exec rm -f {} \;
簡單來說,這個命令會從db-list.txt文件(一個記襪冊錄有資料庫名稱的列表文本文件)中逐行調取資料庫並輸出+壓縮數據文件(datastamped )到/backup/daily/databasename/目錄下面;然後該命令有把一個 non-datestamped 文件存儲到/backup/uploads/目錄下面,並覆蓋掉原有的文件。
同時,為了節約資源,該命令會自動刪掉4天前的資料庫文件。
時鍾命令(Cron Jobs)
備份完之後要利用時鍾命令將資料庫備份以及存儲以自動的方式每天執行,首嫌慎先需要激活backup.sh;
10 4 * * * sh / backup/backup.sh
這個命令是讓伺服器每天早上4:10分開始執行資料庫備份,當然什麼時間執行是取決你的。
然後在時鍾命令中輸入以下命令:
10 6 * * * /usr/local/bin/ncftpput -Ef /home/admin/ncftpputlogin / /backup/uploads/*
這個命令是告訴一個命名為ncftpput的程序(該程序位於ncftputlogin目錄下)每天早上6:10將資料庫文件上傳到/backup/uploads目錄下面。ncftpputlogin目錄中存有伺服器的用戶信息,如果你的伺服器沒有安裝ncftp,你可以自己安裝一個,很簡單。
總結
如果你的資料庫文件較大,可能備份的時候需要佔用很多伺服器資源,所以站長要盡量選擇訪客最少告者宏的時間段執行自動備份命令,比如凌晨4-5點左右。而且要注意給備份留下足夠的時間然後執行存儲命令。
因為一個伺服器可能會遭到天災人禍,備份的資料庫文件要存在不同的伺服器或者下載到本地更保險。
Ⅷ Linux 怎麼shell腳本定時備份mysql資料庫
每天定時備份mysql資料庫任務,刪除指定天數前的數據,保留指定天的數據;
需求:
1,每天4點備份mysql數據;
2,為節省空間,刪除超過3個月的所有備份數據;
3,刪除超過7天的備份數據,保留3個月里的
10號
20號
30號的備份數據;
#創建shell文件
vim
backup_mysql.sh
mysqlmp
-uroot
-p123456
--all-databases
>
/data/dbdata/mysqlbak/`date
+%Y%m%d`.sql
find
/data/dbdata/mysqlbak/
-mtime
+7
-name
'*[1-9].sql'
-exec
rm
-rf
{}
\;
find
/data/dbdata/mysqlbak/
-mtime
+92
-name
'*.sql'
-exec
rm
-rf
{}
\;
#創建定時任務
crontab
–e
0
4
*
*
*
/data/dbdata/backup_mysql.sh
Ⅸ 怎麼定時自動備份mysql數據表
一、對於Windows主機
==============
假想環境:
MySQL
安裝位置:C:\MySQL
論壇資料庫名稱為:bbs
MySQL
root
密碼:123456
資料庫備份目的地:D:\db_backup\
@echo
off
C:\MySQL\bin\mysqladmin
-u
root
–password=123456
shutdown
C:\MySQL\bin\mysqlmp
–opt
-u
root
–password=123456
bbs
>
D:\db_backup\bbs.sql
C:\MySQL\bin\mysqld-nt
將以上代碼保存為backup_db.bat
然後使用Windows的「計劃任務」定時執行該腳本即可。(例如:每天凌晨5點執行back_db.bat)
二、對於Linux主機
===========
假想環境:
MySQL
安裝位置:/usr/local/mysq
論壇資料庫名稱為:bbs
MySQL
root
密碼:123456
資料庫備份目的地:/蔽盯var/db_backup/
#!
/bin/bash
/usr/local/mysql/bin/mysqladmin
-u
root
–password=123456
shutdown
/usr/local/mysql/bin/mysqlmp
–opt
-u
root
–password=123456
bbs
>
/var/db_backup/bbs.sql
/usr/local/mysql/bin/mysqld_safe
–user=mysql
&
將上述代碼保存在/usr/local/sbin/backup_db.sh
對該宏塵和腳本賦予執行許可權:
#
chmod
755
/usr/local/sbin/backup_db.sh
加入crontab中自動執行:
#
crontab
-e
加入:
0
5
*
*
*
/usr/local/sbin/兄隱backup_db.sh
Ⅹ 如何在不停止Mysql服務的情況下,定時備份mysql資料庫
下載navicat for mysql,然後按下列圖文教程進行:
首先打開需要進行備份的資料庫,使之被高斗吵襪亮選中。點擊「Schele」菜單,點擊後將出現如下圖所示的功能界面:
也可以使用BAT批處理來進行自動備空激份,但是批處理的原理是首先停止MYSQL,然後進行資料庫文件復制。但這違反了不停止MYSQL服務的前提。所以這里不細表。