一.使用binlog日志 目标: 利用binlog恢复库表,要求如下: 启用binlog日志 创建db1库tb1表,插入3条记录 删除tb1表中刚插入的3条记录 使用mysqlbinlog恢复删除的3条记录 步骤: 步骤一:启用binlog日志        //记录除了查询之外的SQL命令,默认未启用 1)调整/etc/my.cnf配置,并重启服务 [root@dbsvr1 ~]# vim  /etc/my.cnf    [mysqld]    .. ..    log-bin-index=m…
xtrabackup备份(MySQL备份)与恢复 1. innobackupex参数选项 --no-timestamp: 不创建一个时间戳 --defaults-file=[MY.CNF] //指定配置文件:只能从给定的文件中读取默认选项. 且必须作为命令行上的第一个选项:必须是一个真实的文件,它不能是一个符号链接. --databases=# //指定备份的数据库和表,格式为:--database="db1[.tb1] db2[.tb2]" 多个库之间以空格隔开,如果此选项不被指定,…
xtrabackup工具介绍 Percona 公司 官网:www.percona.com percona-server InnoDB --> XtraDB Xtrabackup备份工具 percona提供的mysql数据库备份工具,惟一开源的能够对innodb和xtradb数据库进行热备的工具 手册:https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html xtrabackup 特点: 备份还原过程快速.可靠 备份过程不会打…
解到: MySQL的binlog日志是什么?通常是用来干什么的? 模拟一次误删数据的操作,并且使用binlog日志恢复误删的数据. 写这篇文章的初衷,是有一次我真的险些把测试数据库的一张表给删除了,当时吓出一身冷汗.原因是由于Spring JPA的配置中,有一个spring.jpa.properties.hibernate.hbm2ddl.auto=create-drop,其用途是每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除.,这个可不…
生成备份 $ xtrabackup --backup --target-dir=/data/backups/ 注:--target-dir可以放在my.cnf配置文件中.如果指定的目录不存在,xtrabackup会创建目录.如果目录存在而包含文件,报错.如果日志文件与数据文件不在同一个目录下,可能需要显式的指定. 在备份过程中可能会有的问题:在备份过程中,日志拷贝线程每秒检查一次,查看是否有事务日志需要拷贝.但是如果日志拷贝线程跟不上事务日志写的速度,而导致事务日志被覆盖,会产生错误. MySQ…
mysqldump 备份鉴于其自身的某些特性(锁表,本质上备份出来insert脚本或者文本,不支持差异备份),不太适合对实时性要求比较高的情况Xtrabackup可以解决mysqldump存在的上述的一些问题,生产环境应用的也会更多一些.本文简单测试一下Xtrabackup对MySQL数据库的备份还原操作. 本着先把功能先撸起来再深入细节的原则,粗略地实现了一个备份还原,并未深入细节. 网上有不少xtrabackup的文章,因为环境不一样,有些需要配置xtrabackup的配置文件,但是我在xt…
第一步:安装xtrabackup的数据库 yum install https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-3.noarch.rpm 第二步:找到xtrabackup相关的包文件名 yum list | grep xtrabackup 第三步:安装xtrabackup yum -y install percona-xtrabackup.x86_64…
前言: MySQL的完全恢复,我们可以借助于完整的 备份+binlog 来将数据库恢复到故障点. 备份可以是热备与逻辑备份(mysqldump),只要备份与binlog是完整的,都可以实现完全恢复. 1. 准备实验环境 mysql> select version(); +------------+ | version() | +------------+ | -log | +------------+ row in set (0.00 sec) mysql> create database c…
用Mysqldump实现全库备份+binlog的数据还原 首先是为mysql做指定库文件的全库备份 vim mysqlbak.sh #!/bin/bash #定义数据库目录,要能找到mysqldump mysqlDir=/usr #定义用于备份数据库的用户名和密码 user=root userpwd=123456 dbname=db1 #定义备份目录 databackupdir=/mysqlbak #定义邮件正文文件 emailfile=$databackupdir/email.txt #定义邮…
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废话不多说,下面是梳理的binlog日志操作解说: 一.初步了解binlogMySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的.-----…