日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL常见备份与恢复方案

發(fā)布時(shí)間:2025/3/21 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL常见备份与恢复方案 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

MySQL常見備份方案有以下三種:

mysqldump + binlog

lvm + binlog

xtrabackup

本例為方便演示,數(shù)據(jù)庫里面數(shù)據(jù)為空。下面開始動手

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

mkdir?/opt/backup????????????????????????????????#創(chuàng)建備份目錄

mkdir?-p?/data/3309/{data,binlog}????

cd?/usr/local/mysql/

scripts/mysql_install_db?--user=mysql?--datadir=/data/3309/data/?--basedir=/usr/local/mysql/

chown?mysql.mysql?-R?/data/3309/

cp?support-files/my-small.cnf?/data/3309/my.cnf???#提供配置文件

??

vim?/data/3309/my.cnf?????????????????????????????#編輯配置文件

[client]

#password???????=?your_password

port????????????=?3309

socket??????????=?/tmp/mysql.sock4

#?The?MySQL?server

[mysqld]

port????????????=?3309

socket??????????=?/tmp/mysql.sock4

skip-external-locking

key_buffer_size?=?16K

max_allowed_packet?=?1M

table_open_cache?=?4

sort_buffer_size?=?64K

read_buffer_size?=?256K

read_rnd_buffer_size?=?256K

net_buffer_length?=?2K

thread_stack?=?128K

datadir?=?/data/3309/data

server-id???????=?3309

log-bin=/data/3309/binlog/mysql-bin???#二進(jìn)制日志位置

binlog_format=mixed???????????????#二進(jìn)制日志格式

log-error?=?/data/3309/mysql-err???????#錯(cuò)誤日志位置

innodb_file_per_table?=?1????????????#為每一個(gè)新數(shù)據(jù)表創(chuàng)建一個(gè)表空間文件

sync_binlog?=?1????????????????????#寫二進(jìn)制日志的時(shí)候,同步到磁盤上面

??

cp?/data/3309/my.cnf?/opt/backup/???#備份配置文件

mysqld_safe?--defaults-file=/data/3309/my.cnf?&??#啟動mysql

1、利用mysqldump完全備份mysql,配合二進(jìn)制日志備份實(shí)現(xiàn)增量備份

mysqldump 選項(xiàng)請參考http://wangweiak47.blog.51cto.com/2337362/1589304

1.1提供模擬數(shù)據(jù)

1

2

3

4

5

6

7

8

mysql?-S?/tmp/mysql.sock4???#連接mysql

mysql>?use?test;

Database?changed

mysql>?create?table?test?(id?int(2),comment?char(30));??#創(chuàng)建表

Query?OK,?0?rows?affected?(0.34?sec)

??

mysql>?insert?into?test?values?(1,'yun?zhonghe');??#插入數(shù)據(jù)

Query?OK,?1?row?affected?(0.16?sec)

1.2全量備份:

1

mysqldump?-S?/tmp/mysql.sock4?-A?-B?-F?-x?--events?--triggers?--routines?--master-data=2?>?/opt/backup/all_data-`date?+%F--%U`.sql

1.3 模擬數(shù)據(jù)發(fā)生改變

1

2

mysql>?insert?into?test?values?(2,'yun?zhonghe2');????#再插入一條數(shù)據(jù)。

Query?OK,?1?row?affected?(0.11?sec)

1.4 增量備份

1

2

mysqladmin?-S?/tmp/mysql.sock4?flush-logs???#增量備份前,先滾動一下二進(jìn)制日志。

cp?`cat?/data/3309/binlog/mysql-bin.index?|?tail?-n?2?|?head?-n?1`?/opt/backup/???#備份二進(jìn)制日志

1.5 數(shù)據(jù)損壞

1

2

rm?-rf?/data/3309/

killall?mysqld

1.6 恢復(fù)

上面已經(jīng)提供了步驟,直接復(fù)制過來使用。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

mkdir?-p?/data/3309/{data,binlog}

cd?/usr/local/mysql/

scripts/mysql_install_db?--user=mysql?--datadir=/data/3309/data/?--basedir=/usr/local/mysql/

cp?/opt/backup/my.cnf?/data/3309/

chown?mysql.mysql?-R?/data/3309/

mysqld_safe?--defaults-file=/data/3309/my.cnf?&???

??

mysql?-S?/tmp/mysql.sock4?????#連接mysql查看數(shù)據(jù)

mysql>?set?sql_log_bin=0;

Query?OK,?0?rows?affected?(0.00?sec)

??

mysql>?show?variables?like?'sql_log_bin';

+---------------+-------+

|?Variable_name?|?Value?|

+---------------+-------+

|?sql_log_bin???|?OFF???|

+---------------+-------+

1?row?in?set?(0.00?sec)

??

mysql>?source?/opt/backup/all_data-2015-10-01--39.sql

??

mysql>?select?*?from?test.test;???#還缺一個(gè)數(shù)據(jù)

+------+-------------+

|?id???|?comment?????|

+------+-------------+

|????1?|?yun?zhonghe?|

+------+-------------+

1?row?in?set?(0.00?sec)?

??

mysql>?source?/tmp/incres-1.sql;

??

mysql>?select?*?from?test.test;???#數(shù)據(jù)已恢復(fù)

+------+--------------+

|?id???|?comment??????|

+------+--------------+

|????1?|?yun?zhonghe??|

|????2?|?yun?zhonghe2?|

+------+--------------+

2?rows?in?set?(0.00?sec)

??

mysql>?set?sql_log_bin?=?1;??#打開二進(jìn)制記錄開關(guān)。

1.7小結(jié),mysqldump適合于數(shù)據(jù)量較小的場合,它的優(yōu)點(diǎn)是有眾多選項(xiàng),使用起來非常靈活,缺點(diǎn)是數(shù)據(jù)量一旦過大,非常耗時(shí)耗力。

2、使用lvm進(jìn)行全備。

lvm快照卷原理參考

http://baike.baidu.com/link?url=iEpO_zm_AbHbk-ijQa8jNcFRoPPG2NdTYb_cRoQ7mjQb_ag9g-fL7yHPXV7Atp2j3J0L5xYynM9KKLIwycW_S_

2.1 數(shù)據(jù)接著上次繼續(xù)開始。

2.2 全備。

需保證數(shù)據(jù)庫存放在邏輯卷組上面,才行。

2.2.1首先鎖表和滾動日志

?

1

2

3

4

5

mysql>?flush?table?with?read?lock;

Query?OK,?0?rows?affected?(0.02?sec)

??

mysql?-S?/tmp/mysql.sock4?-e?'show?master?status;'?>?/backup/master.info??#記錄當(dāng)前日志信息

mysqladmin?-S?/tmp/mysql.sock4?flush-logs???#滾動日志

2.2.2創(chuàng)建快照

1

2

lvcreate?-s?-n?snap_data?-L?500M?/dev/vg_node5/mylv_data

??Logical?volume?"snap_data"?created

2.2.3 解鎖表

1

2

mysql>?unlock?tables;?

Query?OK,?0?rows?affected?(0.00?sec)

2.2.4 復(fù)制快照卷數(shù)據(jù)到備份目錄下

1

2

3

mkdir?-p?/backup/lvm

mount?/dev/vg_node5/snap_data?/mnt/lvm

cp?-R?/mnt/3309/*?/backup/lvm

2.2.5 刪除快照

1

2

3

4

umount?/mnt

lvremove?/dev/mapper/vg_node5-snap_data

Do?you?really?want?to?remove?active?logical?volume?snap_data??[y/n]:?y

??Logical?volume?"snap_data"?successfully?removed

2.3增量備份,只需和定時(shí)復(fù)制binlog到備份目錄下面即可

2.4恢復(fù),只需要直接拷貝備份目錄下的文件即可

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

killall?mysqld

rm?-rf?/data/3309/

cp?-R?/backup/lvm/?/data/3309/

chown?mysql.mysql?-R?/data/3309/

mysqld_safe?--defaults-file=/data/3309/my.cnf?&

ss?-tnl?|?grep?330

LISTEN?????0??????50????????????????????????*:3309?????????????????????*:*

??

mysql>?select?*?from?test.test;???#數(shù)據(jù)未改變

+------+--------------+

|?id???|?comment??????|

+------+--------------+

|????1?|?yun?zhonghe??|

|????2?|?yun?zhonghe2?|

+------+--------------+

2.5小結(jié):

lvm實(shí)現(xiàn)物理備份速度相對mysqldump來比較快,實(shí)現(xiàn)也比較簡單,是不錯(cuò)的選擇。

缺點(diǎn):數(shù)據(jù)目錄必須存放在lvm卷組上面

3、使用xtrabackup實(shí)現(xiàn)熱備。

請自行到官網(wǎng)下載并安裝對應(yīng)的rpm包。

使用方法參考:詳細(xì)參考:

http://www.cnblogs.com/Amaranthus/archive/2014/08/19/3922570.html

3.1創(chuàng)建一個(gè)具有最小權(quán)限的用戶

1

2

3

mkdir?/backup/xtrabackup

mysql>?grant?RELOAD,?LOCK?TABLES,?REPLICATION?CLIENT?on?*.*?to?'bkuser'@'localhost'?identified?by?'123456';

mysql>?flush?privileges;

3.2完全熱備。

使用innobakupex備份時(shí),其會調(diào)用xtrabackup備份所有的InnoDB表,復(fù)制所有關(guān)于表結(jié)構(gòu)定義的相關(guān)文件(.frm)、以及MyISAM、MERGE、CSV和ARCHIVE表的相關(guān)文件,同時(shí)還會備份觸發(fā)器和數(shù)據(jù)庫配置信息相關(guān)的文件。這些文件會被保存至一個(gè)以時(shí)間命令的目錄中。

1

2

3

4

innobackupex?--user=bkuser?--password=123456?--socket=/tmp/mysql.sock4?--defaults-file=/data/3309/my.cnf?/backup/xtrabackup/?#相關(guān)選項(xiàng)自行help。

#nnobackupex:?completed?OK!?#出現(xiàn)此選項(xiàng)代表備份完成。

ls?/backup/xtrabackup/

2015-10-01_17-00-13

(1)xtrabackup_checkpoints —— 備份類型(如完全或增量)、備份狀態(tài)(如是否已經(jīng)為prepared狀態(tài))和LSN(日志序列號)范圍信息;

每個(gè)InnoDB頁(通常為16k大小)都會包含一個(gè)日志序列號,即LSN。LSN是整個(gè)數(shù)據(jù)庫系統(tǒng)的系統(tǒng)版本號,每個(gè)頁面相關(guān)的LSN能夠表明此頁面最近是如何發(fā)生改變的。

(2)xtrabackup_binlog_info —— mysql服務(wù)器當(dāng)前正在使用的二進(jìn)制日志文件及至備份這一刻為止二進(jìn)制日志事件的位置。

(3)xtrabackup_binlog_pos_innodb —— 二進(jìn)制日志文件及用于InnoDB或XtraDB表的二進(jìn)制日志文件的當(dāng)前position。

(4)xtrabackup_binary —— 備份中用到的xtrabackup的可執(zhí)行文件;

(5)backup-my.cnf —— 備份命令用到的配置選項(xiàng)信息;

3.3提供改變數(shù)據(jù)。

1

2

mysql>?insert?into?test.test?values?(3,'yun?zhonghe3');

Query?OK,?1?row?affected?(0.03?sec)

3.4增量備份

1

innobackupex?--user=bkuser?--password=123456?--socket=/tmp/mysql.sock4?--defaults-file=/data/3309/my.cnf?--incremental?/backup/xtrabackup/?--incremental-basedir=/backup/xtrabackup/2015-10-01_17-00-13/

3.5 模擬數(shù)據(jù)損壞

1

2

rm?-rf?/data/3309/

killall?mysqld

3.6增量備份恢復(fù)

1

2

innobackupex?--apply-log?--redo-only?/backup/xtrabackup/2015-10-01_17-00-13/

innobackupex?--apply-log?--redo-only?/backup/xtrabackup/2015-10-01_17-00-13/?--incremental-dir=/backup/xtrabackup/2015-10-01_17-15-00/

#注意,多實(shí)例的話,仍然需要備份配置文件,啟動的時(shí)候需要binlog目錄。

?

1

2

3

4

mkdir?-p?/data/3309/{data,binlog}

chown?mysql.mysql?-R?/data/

cp?/opt/backup/my.cnf?/data/3309/

innobackupex?--copy-back?/backup/xtrabackup/2015-10-01_17-00-13/?--defaults-file=/opt/backup/my.cnf???#恢復(fù)數(shù)據(jù)。

3.6啟動數(shù)據(jù)庫查看。

1

2

3

4

5

6

7

8

9

10

11

mysqld_safe?--defaults-file=/data/3309/my.cnf?&

mysql?-S?/tmp/mysql.sock4

mysql>?select?*?from?test.test;???#數(shù)據(jù)修復(fù)完成。

+------+--------------+

|?id???|?comment??????|

+------+--------------+

|????1?|?yun?zhonghe??|

|????2?|?yun?zhonghe2?|

|????3?|?yun?zhonghe3?|

+------+--------------+

3?rows?in?set?(0.01?sec)

小結(jié):

xtrabacup具有如下特點(diǎn)。

(1)備份過程快速、可靠;

(2)備份過程不會打斷正在執(zhí)行的事務(wù);

(3)能夠基于壓縮等功能節(jié)約磁盤空間和流量;

(4)自動實(shí)現(xiàn)備份檢驗(yàn);

(5)還原速度快;

因此建議學(xué)會熟練使用xtrabackup進(jìn)行備份和還原。

總結(jié)

以上是生活随笔為你收集整理的MySQL常见备份与恢复方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色一级网| 一区二区三区不卡视频在线观看 | 最近免费中文字幕大全免费版视频 | 五月天色站 | 爱如潮水3免费观看日本高清 | 久久综合一区二区三区 | 在线一区二区三区四区五区 | 青青草草视频 | 成人手机在线视频 | 中文字字幕 | 国产精品羞羞答答 | 国产成人宗合 | 欧美一级大黄 | 波多野结衣中文字幕久久 | 色淫湿视频 | 粉嫩在线 | 亚洲成人v| 浪潮av色 | 四虎最新域名 | 18深夜在线观看免费视频 | 国产成年人免费视频 | 日日麻批 | 日韩欧美中文字幕在线视频 | 色综合图区 | 男女精品视频 | 日本特级黄色大片 | 91粉色视频| 国产精品欧美激情在线播放 | 久久发布国产伦子伦精品 | 欧美亚洲免费 | 日韩欧美aaa | 97爱爱视频 | 免费日韩av | 欧美亚一区二区三区 | 日本免费在线播放 | 日日夜夜国产 | 亚洲视频精选 | 99精品中文字幕 | 精品无码国产污污污免费网站 | 亚洲欧美视频二区 | 日本做爰全过程免费看 | 大奶骚| 精品一区二区三区视频 | 成人午夜在线 | 国产成人精品一区二区三区福利 | 成人合集| 超碰在线a| 闷骚老干部cao个爽 av九九九 | 亚洲免费一区二区 | 鲁一鲁一鲁一鲁一av | 天天做夜夜爱 | 成人毛片18女人 | www.五月激情 | 天天舔夜夜操 | 成人毛片在线 | 91在线播放视频 | 精品一区二区三区日韩 | 国产精品电影院 | 黄色av毛片 | 高清在线一区二区 | 久热中文字幕在线 | 国产福利网 | 国产精品一区二区免费视频 | 精品国精品国产自在久不卡 | 久久伊人成人 | 妺妺窝人体色777777 | 久久久永久久久人妻精品麻豆 | 午夜九九 | 亚洲少妇第一页 | 高清视频在线播放 | 99热国 | 狼色网 | 免费在线观看av片 | 日韩精品一区二区三区无码专区 | 91天堂网 | 少妇无码av无码专区在线观看 | 成人一二三区 | 精品人妻人伦一区二区有限公司 | 污污网站在线看 | 久久偷看各类女兵18女厕嘘嘘 | 超碰人人做| 变态另类一区二区 | 欧美啪啪网 | 国产精品一区二区三区免费在线观看 | 美女精品视频 | 亚洲91av| 久久久久久久久久久久国产 | 强辱丰满人妻hd中文字幕 | 色呦呦影院 | 天天干天天操天天摸 | 波多野结衣影片 | 人人妻人人玩人人澡人人爽 | 欧美亚洲黄色 | 婷婷色网站 | 好看的中文字幕电影 | 在线播放国产精品 | 久久人人爽 | 亚洲视频免费播放 | 男人天堂手机在线 |