MySQL數(shù)據(jù)庫基于表級別備份
概述
場景:有一張表數(shù)據(jù)經(jīng)常過一段時間會發(fā)生變動,通過binlog2sql拿這幾天的sql觀察發(fā)現(xiàn)某個時間段總會發(fā)生批量更新,懷疑是代碼中某個功能導致,但開發(fā)一直找不到問題,所以只能先做一下單表的備份,頻率為1小時1次。
實現(xiàn)過程如下:
備份腳本
核心腳本如下:
- #!/bin/bash
 - #this is mysqldump auto table backup script
 - #Copyright by hwb
 - backup_path="/pasdata/backup"
 - user="root"
 - passwd="xx.xx.x.x
 - dbname="pas_prod"
 - host="localhost"
 - tablename="t_att_overtime_application"
 - today=`date +"%Y%m%d-%H%M%S"`
 - sqlname=$tablename$today.sql
 - if [ -e /home/scripts/log_function.sh ]
 - then
 - source /home/scripts/log_function.sh
 - else
 - echo -e “\033[41;37m /home/scripts/log_function.sh is not exist. \033[0m”
 - exit 1
 - fi
 - backup(){
 - log_correct "開始執(zhí)行備份腳本,刪除14天過期備份"
 - #backup
 - mysqldump -h$host -u$user -p$passwd $dbname --tables $tablename >$backup_path/$sqlname
 - }
 - delete(){
 - #delete expired 14 days
 - find $backup_path -mtime +14 -type f -name '*.sql' -exec rm -f {} \;
 - }
 - size(){
 - cd $backup_path
 - dd=`du -sh $sqlname`
 - if [ -s ./$sqlname ] ; then
 - log_correct '調(diào)休表備份正常'
 - log_correct $dd
 - else
 - log_error '調(diào)休表備份失敗'
 - fi
 - }
 - backup
 - delete
 - size
 

核心命令如下:mysqldump -h$host -u$user -p$passwd $dbname --tables $tablename >$backup_path/$sqlname
定時任務(wù)
設(shè)置定時任務(wù)如下:每隔1h的30分執(zhí)行
- 30 0-23 * * * sh /home/scripts/table_backup.sh
 
附錄:關(guān)于mysqldump導出表的命令
1、導出指定表的數(shù)據(jù)
- mysqldump -t database -u username -ppassword --tables table_name1 table_name2 table_name3 >table.sql
 
2、導出指定表的結(jié)構(gòu)
- mysqldump -d database -u username -ppassword --tables table_name1 table_name2 table_name3>table.sql
 
3、導出表的數(shù)據(jù)及結(jié)構(gòu)
- mysqldump database -u username -ppassword --tables table_name1 table_name2 table_name3>table.sql
 
4、某些表除外,其余表都需導出
- mysqldump -h IP -u username -ppassword --default-character-set=utf8 --database database_name --ignore-table=database_name.table_name1 --ignore-table=database_name.table_name2 --ignore-table=database_name.table_name3 >table.sql
 















 
 
 



 
 
 
 