【MySQL】数据库之小题练习(完全备份和增量备份的数据恢复,以及断点恢复)

目录

先创建库,创建表,完成三次数据的录入以及第一次的完全备份,第二次和第三次的增量备份;

第一次完全备份操作

第二次插入后做增量备份操作

[第三次 插入后做增量备份操作](#第三次 插入后做增量备份操作)

1、完全备份恢复,获取一班的人的成绩

2、陈铭的成绩恢复

3、付杰的成绩恢复


实验要求:

先创建库,创建表,完成三次数据的录入以及第一次的完全备份,第二次和第三次的增量备份;

第一次完全备份操作

mysqldump -uroot -pabc123 class grade_info >/opt/backup/class_grade_info.sql

第二次插入后做增量备份操作

[root@localhost /opt/backup]#cd /usr/local/mysql/data/

[root@localhost /usr/local/mysql/data]#mysqladmin -uroot -pabc123 flush-logs

[root@localhost /usr/local/mysql/data]#mv mysql-bin.000001 /opt/backup/mysql-bin.000001.$(date +%F_%T)

[root@localhost /opt/backup]#ls
class_grade_info.sql  mysql-bin.000001.2023-12-26_16:13:46
[root@localhost /opt/backup]#mysqlbinlog --no-defaults --base64-output=decode-rows -v 指定二进制日志备份文件

第三次 插入后做增量备份操作

先完成实验要求:模拟整个数据全部丢失,然后分析需要恢复一班的成绩那么就是将完全备份进行恢复,需要恢复陈铭和付杰的成绩,那么就是分别对第2和第3次的增量数据做断点恢复

1、完全备份恢复,获取一班的人的成绩

mysql -uroot -pabc123 class < /opt/backup/class.grade_info.sql

2、陈铭的成绩恢复

mysqlbinlog --no-defaults --start-position=1807 --stop-position=1972 mysql-bin.000001.2023-12-26_16\:13\:46 |mysql -uroot -pabc123

3、付杰的成绩恢复

mysqlbinlog --no-defaults --start-datetime="2023-12-26 16:17:06" --stop-datetime="2023-12-26 16:18:14" mysql-bin.000002.2023-12-26_16:19:38 |mysql -uroot -pabc123

最后 想要恢复所有的数据

再次模拟表删除,然后先恢复完全备份,然后再完成增量备份恢复

[root@localhost /opt/backup]#mysql -uroot -pabc123 class < class_grade_info.sql 

[root@localhost /opt/backup]#mysqlbinlog --no-defaults --start-position=1366 mysql-bin.000001.2023-12-26_16\:13\:46 |mysql -uroot -pabc123

[root@localhost /opt/backup]#mysqlbinlog --no-defaults mysql-bin.000002.2023-12-26_16\:19\:38 |mysql -uroot -pabc123
相关推荐
Python私教3 小时前
model中能定义字段声明不存储到数据库吗
数据库·oracle
sun0077005 小时前
ubuntu dpkg 删除安装包
运维·服务器·ubuntu
mqiqe6 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
工业甲酰苯胺6 小时前
MySQL 主从复制之多线程复制
android·mysql·adb
BestandW1shEs6 小时前
谈谈Mysql的常见基础问题
数据库·mysql
重生之Java开发工程师6 小时前
MySQL中的CAST类型转换函数
数据库·sql·mysql
教练、我想打篮球6 小时前
66 mysql 的 表自增长锁
数据库·mysql
Ljw...6 小时前
表的操作(MySQL)
数据库·mysql·表的操作