E7数据库备份和恢复

本文详细介绍了MySQL数据库的备份和恢复操作,包括使用`mysqldump`进行全量和增量备份,通过`SELECT INTO OUTFILE`和`LOAD DATA INFILE`备份恢复表格数据,以及利用二进制日志进行数据恢复。还提供了一个数据库恢复的综合实验案例,涵盖了完全备份、增量备份和误操作恢复的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

E7数据库备份和恢复

  • 备份数据库和恢复的各种方法。

  • Problem 1 查看状态
    show master status;
    show slave status\G;
    show variables like ‘%secure%’;
    my.ini中的secure-file-priv改为“”
    (修改secure-file-priv的时候,需要在C盘中的programData\MySQL\MySQL Server 8.0此目录下修改)
    在这里插入图片描述

  • Problem 2 表格数据备份和恢复
    select * into OUTFILE “f:\database\data\test.sql” fields terminated by ‘,’ lines terminated by ’ ’ from example.emp;
    在这里插入图片描述
    load data infile “f:\database\data\test.sql” into table example.emp fields terminated by ‘,’ lines terminated by ’ ';
    其中删除emp表数据时,一定要解除主键的约束。
    在这里插入图片描述
    在这里插入图片描述

  • Problem 3 使用mysqldump进行数据备份
    1、备份整个Mysql所有数据库
    mysqldump -u root -p --all-databases --lock-all-tables>f:\database\data\mysqldbs.sql
    show master status;
    create database test;
    切换到f:
    source f:/database/data/mysqldbs.sql;
    show master logs;
    reset master;
    flush logs;
    show master logs;
    show binlog events in ‘mysql-bin.000003’;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    2、备份某个数据库
    mysqldump -u root -p --databases example --lock-all-tables>f:\database\data\example.sql
    mysqldump -u root -p --databases example>f:\database\data\example_1.sql.gz
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3、备份某些table
    mysqldump -u root -p --databases example --tables emp>f:\database\data\example_emp.sql
    mysqldump -u root -p --databases example --tables emp dept>f:\database\data\example_emp_dept.sql
    (和上述的操作基本一致)
    3.导出表及结构
    mysqldump -u root -p -d --databases example --tables emp dept>f:\database\data\example_struct.sql
    在这里插入图片描述
    在这里插入图片描述
    4.某些表除外其余表都需导出(只是导出结构)
    mysqldump database -u username -ppassword --tables table_name1 table_name2 table_name3>D:\db_script.sql
    mysqldump -u root -p --databases example --ignore-table=example.dept>f:\database\example_1.sql
    在这里插入图片描述
    在这里插入图片描述
    4、恢复数据库或者表格数据
    mysql>source f:\database\example_emp.sql;
    mysql>source f:\database\example_struct.sql;
    mysql>flush logs;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    5、备份与恢复
    mysqldump -u root -p --databases example --lock-all-tables>f:\database\data\example.sql
    show master logs;
    改变数据
    flush logs;
    改变数据
    恢复:
    mysql>source f:\database\data\example.sql;
    mysqlbinlog --no-defaults f:\database\data\mysql-bin.000002 | mysql -u root -p
    在这里插入图片描述

  • Problem 4 使用二进制日志进行备份和恢复
    mysqldump -u root -p --databases example --lock-all-tables>f:\database\data\example.sql
    flush logs;
    更新数据
    mysql> show binlog events in ‘mysql-bin.000005’\G;
    flush logs;
    更新数据
    flush logs;(变为’mysql-bin.000007’)
    show binlog events in ‘mysql-bin.000010’\G;
    source f:\database\data\example.sql;
    mysqlbinlog --no-defaults F:\database\data\mysql-bin.000009 | mysql -u root –p
    mysqlbinlog --no-defaults F:\database\data\mysql-bin.000006 | mysql -u root –p
    516 837
    mysqlbinlog --no-defaults --stop-position=1279 d:\database\binlog.000008 | mysql -u root -p
    mysqlbinlog --no-defaults --start-position=516 --stop-position=837 f:\database\data\mysql-bin.000010| mysql -u root -p
    在这里插入图片描述
    在这里插入图片描述

  • Problem 5 请设计一个数据库恢复的综合实验,按次序完成以下功能:
    1、数据库example做一次完全备份;
    2、 至少两个操作修改、insert或删除emp数据,然后做一次增量备份x;
    3、 至少三个操作:修改某些数据op1、删除emp表格1号部门的所有数据op2、insert数据op3,然后再做一次增量备份x+1;
    现在假设操作3中的删除emp表格1号部门的所有数据op2是属于误操作,请设计备份和恢复方案并实现之。
    在这里插入图片描述

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值