博客
关于我
mysqldump实现数据备份及灾难恢复
阅读量:789 次
发布时间:2023-02-11

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

测试环境介绍

备份策略

备份

全备份操作

[root@mariadb ~]# mysqldump -uroot -p123456 --lock-all-tables --flush-logs --events --routines --master-data=2 --all-databases > /backup/data_dir/fulldata-`date +%F`.sql

说明:

  • --lock-all-tables:锁定数据库中的所有表,防止在备份过程中其他连接操作导致数据不一致。
  • --flush-logs:刷新二进制日志文件,使后续增量备份基于新文件。
  • --master-data=2:记录当前二进制日志文件及位置,便于增量备份。

创建增量备份

[root@mariadb ~]# cp /var/log/mysql_log/mysql-bin.000004 /backup/binlog_dir/mysql-bin.000004-increment.`date +%F`

数据修改

mysql> CREATE DATABASE mydb2;mysql> USE mydb2;mysql> CREATE TABLE tb2 (id INT, name CHAR(15));

增量备份

mysql> SHOW MASTER STATUS;

执行后滚动日志:

mysql> FLUSH LOGS;mysql> SHOW MASTER STATUS;

备份二进制日志文件:

[root@mariadb ~]# cp /var/log/mysql_log/mysql-bin.000004 /backup/binlog_dir/mysql-bin.000004-increment.`date +%F`

数据修改

mysql> INSERT INTO mydb2.tb2 (id, name) VALUES (1, 'timepoint');

灾难恢复

模拟数据丢失

mysql> DROP DATABASE myddb1;mysql> DROP DATABASE myddb2;

服务器下线

[root@mariadb ~]# /opt/lamp/mysql55/bin/mysqld_safe --skip-networking &

恢复准备

mysql> SET GLOBAL sql_log_bin=0;mysql> SHOW GLOBAL VARIABLES LIKE 'sql_log_bin';

滚动日志并恢复全备份:

[root@mariadb ~]# mysql -uroot -p123456 < /backup/data_dir/fulldata-2015-04-14.sql

增量恢复

[root@mariadb ~]# mysqlbinlog /backup/binlog_dir/mysql-bin.000004-increment.2015-04-14 > /tmp/increment.sql

时间点恢复

[root@mariadb ~]# mysqlbinlog --stop-position=321 /var/log/mysql_log/mysql-bin.000005 > /tmp/321ttim.sql

收尾

mysql> SET GLOBAL sql_log_bin=1;[root@mariadb ~]# service mysqld restart

总结

mysqldump工具适用于InnoDB存储引擎的热备备份,但对包含MyISAM表的库需要在备份前锁定表。全备份+增量备份结合使用,既实现数据备份,又支持灾难恢复。

转载地址:http://jibfk.baihongyu.com/

你可能感兴趣的文章
Linux下的系统监控与性能调优:从入门到精通
查看>>
LiveGBS user/save 逻辑缺陷漏洞复现(CNVD-2023-72138)
查看>>
localhost:5000在MacOS V12(蒙特利)中不可用
查看>>
logstash mysql 准实时同步到 elasticsearch
查看>>
Luogu2973:[USACO10HOL]赶小猪
查看>>
mabatis 中出现&lt; 以及&gt; 代表什么意思?
查看>>
Mac book pro打开docker出现The data couldn’t be read because it is missing
查看>>
MAC M1大数据0-1成神篇-25 hadoop高可用搭建
查看>>
mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
查看>>
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>
MangoDB4.0版本的安装与配置
查看>>
Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
查看>>
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>