MySQL-年终故障演练

年终故障演练案例(一)

1、创建一个数据库 app
2、在app下创建一张表t1
3、插入5行任意数据
4、全备
5、插入两行数据,任意修改1行数据,删除1行数据
6、删除所有数据
7、再t1中又插入5行新数据,修改3行数据
需求,跳过第六步恢复表数据
写备份脚本和策略

环境模拟

#1、创建一个数据库 app
create database app;
#2、在app下创建一张表t1
use app;
create table t1(id int);
#3、插入5行任意数据
insert into  t1 values(1),(2),(3),(4),(5);
#4、全备
mysqldump -uroot -p -A -R -E --triggers --master-data=2 --single-transaction --set-gtid-purged=OFF >/data/backup/appfull.sql
#5、插入两行数据,任意修改1行数据,删除1行数据
insert into t1 values(6),(7);
update t1 set id='30' where id=1;
delete from t1 where id=2;
#6、删除所有数据
delete from t1 ;
#7、再t1中又插入5行新数据,修改3行数据
insert into  t1 values(11),(12),(13),(14),(15);
update t1 set id='31' where id=11;
update t1 set id='32' where id=12;
update t1 set id='33' where id=13;
select * from t1;
create database app;
use app;
create table t1(id int);
insert into  t1 values(1),(2),(3),(4),(5);


[root@db01 ~]# mysqldump -uroot -p -A -R -E --triggers --master-data=2 --single-transaction --set-gtid-purged=OFF >/data/backup/appfull.sql

use app;
insert into t1 values(6),(7);
update t1 set id='30' where id=1;
delete from t1 where id=2;
delete from t1 ;
select * from t1;
insert into  t1 values(11),(12),(13),(14),(15);
update t1 set id='31' where id=11;
update t1 set id='32' where id=12;
update t1 set id='33' where id=13;
select * from t1;

思路

  1. 恢复全备份
  2. 恢复binlog

准备binlog日志
查看全背中的binlog信息
vim /data/backup/appfull.sql
大概在22行
– CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000018’, MASTER_LOG_POS=1246;
查找截取点

FBI [(none)]>show binlog events in 'mysql-bin.000018';
+------------------+------+----------------+-----------+-------------+----------------------------------------------------------------------------------------+
| Log_name         | Pos  | Event_type     | Server_id | End_log_pos | Info                                                                                   |
+------------------+------+----------------+-----------+-------------+------------------------------------------------------------------------------
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
进行MySQL故障演练可以帮助验证系统的可用性和恢复能力,并提前发现和解决潜在问题。一种常见的故障演练方法是模拟数据库崩溃,并测试系统的备份恢复能力。通过以下步骤可以进行MySQL故障演练: 1. 在故障演练之前,首先要确保已经进行了全备份和binlog日志的备份。 2. 进入MySQL命令行界面,执行以下命令来禁用二进制日志并恢复备份文件: set sql_log_bin=0; source /data/backup/appfull.sql; source /data/backup/appbin.sql; set sql_log_bin=1; 3. 确保备份文件的路径和名称正确,并根据实际情况进行修改。 4. 在演练过程中,可以模拟数据库崩溃的情况,例如通过停止数据库服务或模拟硬件故障。 5. 模拟崩溃后,重新启动数据库,并使用备份文件进行恢复。 6. 检查数据库恢复的情况,确保数据的完整性和一致性。 通过这些故障演练步骤,可以验证数据库的高可用性和恢复能力,并及时发现和解决潜在问题,保障数据库的稳定运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MySQL-年终故障演练](https://blog.csdn.net/qq_34646546/article/details/89343451)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Gdevops广州站 2022年全球敏捷运维峰会PPT合集(18份).zip](https://download.csdn.net/download/mengchensubi/85752508)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值