MySQL备份与恢复
发布日期:2021-05-16 14:49:05 浏览次数:19 分类:精选文章

本文共 1969 字,大约阅读时间需要 6 分钟。

某学校考试成绩录入及备份恢复实验

实验环境

某学校根据要求,要求数据库管理员负责一班、二班学生的考试成绩录入工作,并确保数据的可靠性。数据库管理员在每次录入成绩后都需要做数据库备份,并在模拟数据丢失故障时进行数据还原测试。

需求描述

需要将一班、二班学生成绩数据分别录入数据库表中,并备份。具体成绩如下:

一班学生成绩

姓名 班级 学号 语文 数学 英语 理综
张三 一班 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.创建bdqn数据库和qzcj表

    create database bdqn;create table bdqn.qzcj (    姓名 char(2),    班级 char(2),    学号 char(8),    语文 char(3),    数学 char(3),    英语 char(3),    理综 char(3));

    2.录入一班学生成绩并进行完全备份及数据切割

    insert into bdqn.qzcj values('张三', '一班', '20170822', '110', '105', '92', '235');insert into bdqn.qzcj values('李四', '一班', '20170820', '95', '115', '110', '260');insert into bdqn.qzcj values('王五', '一班', '20170818', '95', '103', '108', '270');insert into bdqn.qzcj values('赵六', '一班', '20170816', '100', '109', '112', '265');

    完成录入后进行完全备份:

    mysqldump -uroot -ppwd@123 bdqn qzcj > bdqn_qzcj.sql

    清空日志:

    mysqladmin -uroot -ppwd@123 flush-log

    3.录入二班(1)学生成绩并进行增量备份(数据切割)

    insert into bdqn.qzcj values('李宁', '二班', '20170824', '92', '98', '105', '235');insert into bdqn.qzcj values('陈铭', '二班', '20170826', '111', '107', '96', '204');

    完成录入后进行增量备份:

    mysqladmin -uroot -ppwd@123 flush-log

    4.录入二班(2)学生成绩并进行增量备份(数据切割)

    insert into bdqn.qzcj values('付杰', '二班', '20170828', '115', '118', '116', '268');insert into bdqn.qzcj values('郭尚', '二班', '20170830', '111', '99', '80', '259');

    完成录入后进行增量备份:

    mysqladmin -uroot -ppwd@123 flush-log

    5.模拟数据丢失

    mysqldump -uroot -ppwd@123 bdqn < bdqn_qzcj.sql

    6.基于位置恢复二班(1)学生成绩

    mysqlbinlog --start-position=‘312’ ./mysql-bin.000010 --stop-position=‘524’ ./mysql-bin.000010

    7.基于时间恢复二班(2)学生成绩

    mysqlbinlog --start-datetime=‘2020-11-30 20:10:01’ ./mysql-bin.000010 --stop-datetime=‘2020-11-30 20:10:20’ mysql-bin.000010

    8.验证数据恢复结果

    上一篇:shell脚本的应用
    下一篇:构建LAMP平台及应用系统

    发表评论

    最新留言

    留言是一种美德,欢迎回访!
    [***.207.175.100]2025年04月29日 17时19分13秒