tar cp scp 工具/備份資料庫 一般用於完整全備份。
無法實現增量備份。
備份的過程: [ 完全 的 物理 方式 冷備。] 可以實現 完全備份 + 增量備份
施加全域性鎖
實施 tar 命令 壓縮備份
複製備份好的資料庫到備份目錄
重新整理二進位制日誌檔案
立刻解鎖
1、以某張表的資料 為依據, 例如學生表。 在這次備份完成後。
a\ 當前學生表多少條記錄 1015條
b\ 當前使用的二進位制日誌,已經 它停留的位置
c\ 這次備份後,災難發生於,下一次備份到來之前。
2、 模擬業務向前執行(插入 另外10條資料) , 這 10條 資料,存在哪個位置???
3、在沒有任何預備的情況下, 停庫,刪除所有資料 rm -rf /data/mysql
然後執行還原過程
如果軟體損壞,就重灌mysql,先不要啟動。
將完全備份恢復到 資料庫 目錄。 (## 恢復後的檔案,許可權 是否 都是 mysql 使用者 )
新增防火牆規則,臨時禁止 3306 埠的連線 input上加
啟動資料庫,檢查是否有報錯。 1015 條資料找回
找到 另外 10 條資料所在的 二進位制日誌檔案,將他們匯出。
mysqlbinlog --start-position=154 /data/log-bin/mysql-bin.000003 > /root/03.sql
6.停止 當前的 二進位制日誌的記錄功能。
mysql> set session sql_log_bin=0;
7、匯入資料
mysql> source /root/03.sql;
8、開啟二進位制日誌記錄功能
mysql> set session sql_log_bin=1;
檢視驗證。
9、清除防火牆 規則。
恢復流程 完畢。
備份指令碼如下:
[root@mysql-21 /test]# cat full-backup.sh
#!/bin/bash
a_log="/root/mysql-bak.log" #mysql備份日誌
a_dir=/backup #備份路徑
data_dir=/data/mysql # 備份資料庫路徑
data_name=`echo echo $data_dir | awk -f "/" ''` #要備份的資料庫名稱
echo "**********===`date`********************=">> $a_log
tail -1 /bin-log/mysql-bin.index >> $a_log #備份mysql的二進位制檔案
echo "對/data/mysql的完全備份開始..."
time1=`date +%s` #獲得當前時間
#備份mysql的配置檔案
cp /etc/my.cnf $a_dir/my-`date +%f-%h-%m-%s`.cnf
mysql -uroot<> $a_log
unlock table;
system echo "解鎖表..."
eoftime2=`date +%s` #獲得備份結束時間
echo "備份完成時`expr $time2 - $time1`秒"
###########實現備份的回滾功能#################
##獲取mysql備份數量,超過$num份後刪掉最早的乙份
num=5
count=`ls -lt $a_dir | grep "mysql" | wc -l`
if [ $count -gt $num ]
then
rm -rf `ls -lt $a_dir | grep "mysql" |tail -1| awk '`
fi ##獲取資料庫配置檔案my.cnf備份數量,超過$num份後刪掉最早的乙份
count1=`ls -lt $a_dir| grep "\".*cnf| wc -l`
if [ $count1 -gt $num ]
then
rm -rf `ls -lt $a_dir| grep "\".*cnf| tail -1|awk ''
當前配置環境是在centos7下,資料庫的配置/etc/my.cnf MySQL資料物理備份之tar打包備份
複製資料檔案方式,可以使用cp或tar 1 停止服務 root localhost mysql systemctl stop mysqld root localhost mysql netstat lnupt grep 3306 2 備份資料檔案 cd var lib mysql root loca...
MySQL資料物理備份之tar打包備份
複製資料檔案方式,可以使用cp或tar 1 停止服務 root localhost mysql systemctl stop mysqld root localhost mysql netstat lnupt grep 3306 2 備份資料檔案 cd var lib mysql root loca...
tar增量備份
tar命令實現增量備份 最近在備份web 站點,但是出現的問題是隨著備份的目錄增加,以及站點的不斷的擴大,磁碟空間開始顯示出不夠用。正對這種問題,做出了如下的幾個調整。1 將備份的個數縮短,什麼意思呢。以我的web bak 目錄為例,原來的目錄中是保留了 1個月的備份,現在我將他調整為 20天。但是...