一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - 數據庫崩潰,利用備份和日志進行災難恢復

數據庫崩潰,利用備份和日志進行災難恢復

2020-05-15 15:39xcga_wise Mysql

我相信數據庫崩潰都不是大家所愿意看到的,但是這種情況發生時我們要采取補救措施,本文就是介紹了如何利用備份和日志進行災難恢復,需要的朋友可以參考下

在實際的工作中,我們可能經常會遇到數據庫宕機,數據丟失的情況,下面,我將演示一個模擬環境

1.數據庫正常啟動插入數據:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@client103 ~]# mysql -uroot -pkongzhong
mysql> use test;
mysql> insert into a select * from a;
#注: 這里不演示建表,默認大家都懂
# 下面進行一次全備
[root@client103 ~]# innobackupex --user=root --password=kongzhong --defaults-file=/etc/my.cnf --port=3306 /tmp/backup/ >/tmp/backup/innoback.log 2>&1
# 再次插入數據
mysql> insert into a select * from a;
# 實行增量備份
[root@client103 ~]# innobackupex --user=root --password=kongzhong --defaults-file=/etc/my.cnf --port=3306 --incremental --incremental-basedir=/tmp/backup/2014-02-27_13-24-51/ /tmp/backup/
# 再次插入數據
mysql> insert into a select * from a;
# 此時大家記錄一下現在的總行數(一會還原需要核對數據的)
# 此時數據庫宕機
#模擬宕機操作為:
# 1.將數據目錄的下的二進制日志,復制到 /tmp/backup,一會需要重演日志(此步非常重要,復制操作默認大家會了)
# 2.刪除數據目錄下的所有文件,此時數據庫就崩潰了(如果關閉數據庫,是關不了,記得殺掉進程,kill -9 ....)

2.數據庫宕機后執行恢復操作

?
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
42
43
44
45
在實際的工作中,我們可能經常會遇到數據庫宕機,數據丟失的情況,下面,我將演示一個模擬環境
1.數據庫正常啟動插入數據:
 
[root@client103 ~]# mysql -uroot -pkongzhong
mysql> use test;
mysql> insert into a select * from a;
#注: 這里不演示建表,默認大家都懂
# 下面進行一次全備
[root@client103 ~]# innobackupex --user=root --password=kongzhong --defaults-file=/etc/my.cnf --port=3306 /tmp/backup/ >/tmp/backup/innoback.log 2>&1
# 再次插入數據
mysql> insert into a select * from a;
# 實行增量備份
[root@client103 ~]# innobackupex --user=root --password=kongzhong --defaults-file=/etc/my.cnf --port=3306 --incremental --incremental-basedir=/tmp/backup/2014-02-27_13-24-51/ /tmp/backup/
# 再次插入數據
mysql> insert into a select * from a;
# 此時大家記錄一下現在的總行數(一會還原需要核對數據的)
# 此時數據庫宕機
#模擬宕機操作為:
# 1.將數據目錄的下的二進制日志,復制到 /tmp/backup,一會需要重演日志(此步非常重要,復制操作默認大家會了)
# 2.刪除數據目錄下的所有文件,此時數據庫就崩潰了(如果關閉數據庫,是關不了,記得殺掉進程,kill -9 ....)
2.數據庫宕機后執行恢復操作
 
# 全備應用日志
[root@client103 ~]# innobackupex --apply-log /tmp/backup/2014-02-27_13-24-51/
# 增備應用日志
[root@client103 ~]# innobackupex --apply-log /tmp/backup/2014-02-27_13-24-51/ --incremental-dir=/tmp/backup/2014-02-27_13-32-44/
# 應用完日志,利用全備恢復數據
[root@client103 ~]# innobackupex --copy-back /tmp/backup/2014-02-27_13-24-51/
# 修改數據目錄權限為mysql:mysql
[root@client103 ~]# chown mysq:mysql /var/lib/mysql -R
# 啟動數據庫
[root@client103 ~]# /etc/init.d/mysql start
# 登陸數據庫,查看數據行數,發現數值與崩潰前是不一致的,所以需要利用日志恢復
[root@client103 ~]# mysql -uroot -pkongzhong
mysql> use test;
mysql> select count(*) from a;
# 查看最后一次增備完成時的日志文件名和pos號(備份時自動記錄的)
[root@client103 ~]# cat /tmp/backup/2014-02-27_13-32-44/xtrabackup_binlog_info
mysql-103-bin.000005  3694
# 所以,我們使用二進制執行恢復時,起始點為3694
# 利用日志恢復
[root@client103 ~]# mysqlbinlog --start-pos=3694 /tmp/backup/mysql-103-bin.000005 |mysql -uroot -pkongzhong
# 此時在登陸數據庫查看數據是否相符,請自行測試
mysql> use test;
mysql> select count(*) from a;

 以上就是本文的全部內容,希望大家可以喜歡。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 交换年轻夫妇HD中文字幕 | 亚洲bt区 | 婚色阿花在线全文免费笔 | 国产精品亚洲午夜不卡 | 国产高清在线精品一区二区 | 精品AV无码一二三区视频 | 免费看国产精品麻豆 | 调教校花浣肠开菊 | 亚洲第一综合天堂另类专 | 无码AV毛片色欲欧洲美洲 | 日韩视频在线免费观看 | 日本成熟| 好男人在线观看免费高清2019韩剧 | 免费观看欧美性一级 | 能免费观看的韩剧 | 四虎影院网站 | 国产精品资源站 | 美女露尿口| 亚洲狠狠婷婷综合久久久久网站 | 日本高清色视影www日本 | 午夜影院在线免费观看 | 免费午夜影片在线观看影院 | 亚州在线视频 | 亚洲福利天堂网福利在线观看 | 调教女秘书| 国产福利视频一区二区微拍视频 | 色综合网亚洲精品久久 | 蜜色网| 美国video | 国产在线观看福利 | 扒开女人屁股眼看个够 | 欧美日韩国产一区二区三区不卡 | 国产亚洲欧美成人久久片 | 亚洲午夜久久久久久91 | 成人精品mv视频在线观看 | 国产性色视频 | 视频二区 素人 制服 国产 | 国产免费看视频 | tolove第一季动画在线看 | 俄罗斯一级在线播放 | 国产精品亚洲专区在线播放 |