溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

mysql數(shù)據(jù)庫(kù)備份

發(fā)布時(shí)間:2020-06-02 10:20:49 來(lái)源:網(wǎng)絡(luò) 閱讀:331 作者:左客 欄目:MySQL數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)備份

1 冷備(cp

2  LVM快照備份

 lvcreate  -s  -n  rhel6node1  -L  2G  /dev/vg_kvm/rhel6base

3 熱備

mysqldump   -hserip   -u用戶(hù)名  -p密碼   數(shù)據(jù)庫(kù)名  > 目錄名/xxx.sql

數(shù)據(jù)庫(kù)名的表示方式

--all-databases     備份服務(wù)器上的所有數(shù)據(jù)

數(shù)據(jù)庫(kù)名                 備份一個(gè)庫(kù)的所有數(shù)據(jù)

數(shù)據(jù)庫(kù)名  表名        備份一個(gè)表的所有數(shù)據(jù)

-B  數(shù)據(jù)庫(kù)名1   數(shù)據(jù)庫(kù)名2   備份幾個(gè)庫(kù)的所有數(shù)據(jù)

完整恢復(fù)

mysql    -hlocalhost    -uroot  -p123   [數(shù)據(jù)庫(kù)名]   <  xxx.sql

4 增量備份  

1 binlog日志加腳本實(shí)現(xiàn)增量備份

 

 

1 使用mysql自帶binlog日志功能實(shí)現(xiàn)對(duì)數(shù)據(jù)的增量備份

2 安裝第3方軟件提供增量備份工具對(duì)數(shù)據(jù)做增量備份

------------------------------------------------------------------

使用binlog日志增量備份/增量恢復(fù)

 

binlog日志的使用

mysql服務(wù)有4種日志文件:錯(cuò)誤日志、查詢(xún)?nèi)罩?、慢查?xún)?nèi)罩?/span>

binlog日志    

 

binlog日志 (二進(jìn)制日志)

         記錄客戶(hù)端連接自己之后,執(zhí)行的除查詢(xún)之外的sql命令。

         默認(rèn)沒(méi)開(kāi)啟binlog日志

service  mysql stop

vim /etc/my.cnf

[mysqld]

Log-bin=/logdir/plj

:wq

mkdir   /logdir

chown   mysql  /logdir

service  mysql  start

 

cd  /var/lib/mysql/

www-bin.000001   binlog日志文件

                 500M+

www-bin.000002

www-bin.index       日志的索引文件

  

查看binlog日志文件內(nèi)容

mysqlbinlog      binlog日志文件名

 

手動(dòng)生成新binlog日志文件方式?

mysql> flush logs;

mysql -hlocalhost -uroot -p123 -e "flush logs"

 

service  mysql  restart

 

binlog記錄SQL命令的方式?

1 字符偏移量

2 時(shí)間點(diǎn)

 

mysqlbinlog    【選項(xiàng)】   binlog日志文件名

時(shí)間點(diǎn)

--start-datetime="2015-12-16 14:20:30"                自己去庫(kù)里找時(shí)間

--stop-datetime="2015-12-16  17:20:30"                 自己去庫(kù)里找時(shí)間

 

字符偏移量

--start-position=數(shù)字                                  自己去庫(kù)里找偏移量

--stop-position=數(shù)字                                   自己去庫(kù)里找偏移量

 

mysqlbinlog   --start-position=385   --stop-position=1134  plj.000010   |  mysql -hlocalhost  -uroot  -p123   【數(shù)據(jù)庫(kù)名】

 

vim /shell/newlogfilebak.sh

#!/bin/bash

if  [   ! -e  /logbak  ];then

     mkdir   /logbak

fi

mysql -hlocalhost -uroot -p123  -e  "flush logs" &> /dev/null

cd  /logdir

for  file  in  `sed '$d'  plj.index`

do

      name=`echo $file | awk -F "/" '{print $3}'`

      if [ ! -e /logbak/$name ];then

        cp  $name  /logbak/

      fi

done

:wq

 

00  18   *  *   1   /shell/bakadb.sh  &> /dev/null

00   19  *  *  2-7   /shell/newfillogbak.sh

2 三方插件xtrabackup增量備份

yum -y install perl-Time-HiRes   perl-DBD-MySQL

rpm  -ivh    percona-xtrabackup-2.1.6-702.rhel6.x86_64.rpm

增量備份/增量恢復(fù)命令  xtrabackup_56

備份過(guò)程中不鎖庫(kù)表

 

備份時(shí)只備份表記錄,不備份表結(jié)構(gòu)。

 

使用xtrabackup_56增量備份時(shí),必須有一次完整備份,這樣再備份時(shí),才能知道哪些數(shù)據(jù)是新產(chǎn)生的。

 

xtrabackupC程序,支持InnoDB/XtraDB

 

xtrabackup_56  <選項(xiàng)>

選項(xiàng)

--backup                    備份數(shù)據(jù)

--prepare   準(zhǔn)備恢復(fù)數(shù)據(jù)                  

--target-dir=目錄名                   備份目錄

--datadir=數(shù)據(jù)庫(kù)目錄                 備份的源文件

--incremental-basedir=目錄名   增量備份時(shí),指定上一次備份文件存儲(chǔ)的目錄

--incremental-dir=目錄名   準(zhǔn)備恢復(fù)數(shù)據(jù)時(shí),指定使用那個(gè)備份目錄下的數(shù)據(jù)做恢復(fù)

 

1001    5

xtrabackup_56   --backup   --datadir=/var/lib/mysql   --target-dir=/onedir

 

2002   7

xtrabackup_56   --backup   --datadir=/var/lib/mysql  --target-dir=/new1   --incremental-basedir=/onedir

 

3003   10

xtrabackup_56   --backup   --datadir=/var/lib/mysql  --target-dir=/new2  --incremental-basedir=/new1

 

mysql > delete from  testdb.a;

               drop table  testdb.a;

增量恢復(fù)

1 、準(zhǔn)備恢復(fù)數(shù)據(jù)

xtrabackup_56  --prepare  --datadir=/var/lib/mysql   --target-dir=/onedir

 

xtrabackup_56  --prepare  --datadir=/var/lib/mysql   --target-dir=/onedir    --incremental-dir=/new1

 

xtrabackup_56  --prepare  --datadir=/var/lib/mysql   --target-dir=/onedir    --incremental-dir=/new2

 

2、被備份文件拷貝回?cái)?shù)據(jù)庫(kù)目錄下對(duì)應(yīng)的位置

cp  /onedir/testdb/a.ibd  /var/lib/mysql/testdb/

3、重啟數(shù)據(jù)庫(kù)服務(wù)器  service  mysql restart

 

xtrabackup工作過(guò)程

lsn   日志序列號(hào)

 

 

/var/lib/mysql/

ibdata1

ib_logfile0

ib_logfile1

 

ibdata1

ibdata1.delta

ibdata1.meta

 

xtrabackup_checkpoints  

xtrabackup_logfile

 

a.ibd

a.ibd.delta    a.ibd.meta


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI