Mysql数据库备份恢复

Mysql数据库备份恢复

【实验环境描述】
某学校近期在进行其中考试,要求数据库管理员负责一班、二班学生的考试成绩录入,为保证数据的可靠性,数据库管理员在录入学生成绩后均要做数据库备份,并且为了测试备份数据是否可用,模拟数据丢失故障,进行数据还原。
【需求描述】
在数据库表中,分三次录入期中考试成绩,具体的考试成绩信息分别参见表

一班学生成绩
姓名 班级 学号 语文 数学 英语 理综
张三 一班 20170822 110 105 92 235
李四 一班 20170820 95 115 110 260
王五 一班 20170818 95 103 108 270
赵六 一班 20170816 100 109 112 265

二班学生成绩(1)
姓名 班级 学号 语文 数学 英语 理综
李宁 二班 20170824 92 98 105 235
陈铭 二班 20170826 111 107 96 204

二班学生成绩(2)
姓名 班级 学号 语文 数学 英语 理综
付杰 二班 20170828 115 118 116 268
郭尚 二班 20170830 111 99 80 259
首次录入成绩后,做该表的完全备份,后两次成绩的录入之后,分别做增量备份
模拟数据丢失,并使用增量备份分别基于位置和时间点恢复一班所有学生成绩与二班陈铭与付杰的成绩

【推荐步骤】

  1. 创建数据库与表
  2. 分三次录入学生成绩,并在分别进行完全备份与增量备份
  3. 模拟数据丢失,进行数据恢复

【实验步骤】
1) 创建数据库 期中考试成绩
mysql> create database 期中考试成绩;
在这里插入图片描述
2) 创建student表
mysql> create table 期中考试成绩.student (姓名 char(3),班级 char(2),学号 char(9),语文 char(3),数学 char(3),英语 char(3),理综 char(3));

查看表结构
在这里插入图片描述
3)第一次录入学生成绩
在这里插入图片描述
查看表中数据
在这里插入图片描述
3) 做该表的完全备份
[root@centos02 ~]# mkdir /mysql-bak
[root@centos02 ~]# mysqldump -uroot -p 期中考试成绩 student >/mysql-bak/期中考试成绩_student.sql
在这里插入图片描述


查看备份文件
在这里插入图片描述

5)做增量备份
设置日志切割
[root@centos02 ~]# mysqladmin -uroot -p flush-logs
插入数据:
在这里插入图片描述
查看表数据
在这里插入图片描述
[root@centos02 ~]# mysqladmin -uroot -p flush-logs
查看日志文件:
在这里插入图片描述
备份增量信息
[root@centos02~]#cp /usr/local/mysql/data/mysql-bin.000004 /mysql-bak/
设置日志切割
[root@centos02 ~]# mysqladmin -uroot -p flush-logs
插入数据:
在这里插入图片描述
查看表数据
在这里插入图片描述
[root@centos02 ~]# mysqladmin -uroot -p flush-logs
查看日志文件:
在这里插入图片描述
备份增量信息
[root@centos02~]#cp /usr/local/mysql/data/mysql-bin.000006 /mysql-bak/
6)模拟表中数据损坏
在这里插入图片描述
在这里插入图片描述

7)基于位置恢复第二次插入数据
查看二进制文件具体内容
[root@centos02 ~]# mysqlbinlog --no-defaults /mysql-bak/mysql-bin.000004
在这里插入图片描述
恢复日志编号‘604’以前的数据
[root@centos02 ~]# mysqlbinlog --no-defaults --stop-position=‘604’ /mysql-bak/mysql-bin.000004 |mysql -uroot -p

验证:
在这里插入图片描述

8)基于时间恢复第三次输入数据

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值