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

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 13:11:30
字體:
來源:轉載
供稿:網友

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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 思茅市| 铁岭市| 鄱阳县| 瓮安县| 衡阳县| 阿拉善盟| 彭泽县| 福安市| 温宿县| 太谷县| 阿拉善右旗| 青冈县| 手游| 如皋市| 平阴县| 墨竹工卡县| 尉氏县| 商水县| 澳门| 寿阳县| 通河县| 龙岩市| 彭水| 丰城市| 蒙阴县| 西和县| 丽水市| 拉孜县| 昌乐县| 日照市| 滦南县| 保德县| 巴塘县| 阿瓦提县| 黄山市| 安陆市| 焦作市| 玉树县| 新余市| 云梦县| 天等县|