国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql全量備份、增量備份實現方法

2024-07-24 12:53:07
字體:
來源:轉載
供稿:網友

mysql全量備份、增量備份。開啟mysql的logbin日志功能。在/etc/my.cnf文件中加入以下代碼:

[mysqld]log-bin = "/home/mysql/logbin.log"binlog-format = ROWlog-bin-index = "/home/mysql/logindex"binlog_cache_size=32mmax_binlog_cache_size=512mmax_binlog_size=512m

重啟mysql即可。其中路徑 /home/mysql的用戶和組要改成mysql。

2、增量備份
在/home/mysql/目錄下建立以下目錄:

mkdir -p /home/mysql/backup/daily

增量備份腳本

cd /home/mysqlvi binlogbak.sh#!/bin/bashexport LANG=en_US.UTF-8BakDir=/home/mysql/backup/dailyBinDir=/home/mysqlLogFile=/home/mysql/backup/binlog.logBinFile=/home/mysql/logindex.indexmysqladmin -uroot -proot123 flush-logs#這個是用于產生新的mysql-bin.00000*文件Counter=`wc -l $BinFile |awk '{print $1}'`NextNum=0#這個for循環用于比對$Counter,$NextNum這兩個值來確定文件是不是存在或最新的。for file in `cat $BinFile`do base=`basename $file` #basename用于截取mysql-bin.00000*文件名,去掉./mysql-bin.000005前面的./ NextNum=`expr $NextNum + 1` if [ $NextNum -eq $Counter ] then echo $base skip! >> $LogFile else dest=$BakDir/$base if(test -e $dest) #test -e用于檢測目標文件是否存在,存在就寫exist!到$LogFile去。 then echo $base exist! >> $LogFile else cp $BinDir/$base $BakDir echo $base copying >> $LogFile fi fidoneecho `date +"%Y年%m月%d日 %H:%M:%S"` Bakup succ! >> $LogFile

賦予binlogbak.sh執行權限

chmod a+x /home/mysql/binlogbak.sh

3、全量備份

vi databak.sh#!/bin/bashexport LANG=en_US.UTF-8BakDir=/home/mysql/backupLogFile=/home/mysql/backup/bak.logDate=`date +%Y%m%d`Begin=`date +"%Y年%m月%d日 %H:%M:%S"`cd $BakDirDumpFile=$Date.sqlGZDumpFile=$Date.sql.tgzmysqldump -uroot -proot123 --all-databases --flush-logs --delete-master-logs --single-transaction > $DumpFiletar -czvf $GZDumpFile $DumpFilerm $DumpFilecount=$(ls -l *.tgz |wc -l)if [ $count -ge 5 ]thenfile=$(ls -l *.tgz |awk '{print $9}'|awk 'NR==1')rm -f $filefi#只保留過去四周的數據庫內容Last=`date +"%Y年%m月%d日 %H:%M:%S"`echo 開始:$Begin 結束:$Last $GZDumpFile succ >> $LogFilecd $BakDir/dailyrm -f *

賦予databak.sh 執行權限

chmod a+x /home/mysql/databak.sh

4、開啟定時任務

vi /etc/crontab#每個星期日凌晨3:00執行完全備份腳本0 3 * * 0 /home/mysql/databak.sh >/dev/null 2>&1#周一到周六凌晨3:00做增量備份0 3 * * 1-6 /home/mysql/binlogbak.sh >/dev/null 2>&1

使上述定時任務生效

crontab /etc/crontab

查看定時任務

crontab -l

完成。

您可能感興趣的文章:

Mysql數據庫增量備份的思路和方法Mysql數據庫性能優化三(分表、增量備份、還原)使用mysqldump導入數據和mysqldump增量備份(mysqldump使用方法)mysql mysqldump數據備份和增量備份mysql自動增量備份的實例方法(本地備份與遠程備份)mysql增量備份及斷點恢復腳本實例
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 祁门县| 浮梁县| 栾城县| 疏勒县| 安龙县| 张家口市| 彭阳县| 宁陵县| 长丰县| 涟源市| 芮城县| 寻乌县| 正安县| 临漳县| 会泽县| 漳平市| 新巴尔虎右旗| 普兰店市| 广水市| 彭水| 文山县| 昭觉县| 陈巴尔虎旗| 通化县| 登封市| 天柱县| 凭祥市| 石泉县| 牙克石市| 盱眙县| 招远市| 花垣县| 于都县| 乌兰察布市| 泸水县| 平阳县| 德昌县| 额敏县| 平乡县| 开化县| 黑河市|