MySQL可以使用mysqldump进行数据的逻辑备份,配合开启bin log日志可以实现数据的全量恢复及增量恢复

MySQL版本查看

修改配置文件记录bin log日志

[mysqld]

#bin log日志记录位置

log-bin=/opt/mysqldata/prodda3306data/mysql-bin

binlog_cache_size = 4M

max_binlog_cache_size = 256M

max_binlog_size = 32M

#日志模式为row 生产环境最好使用此日志模式

binlog_format = row

expire_logs_days = 7

登录MySQL终端查看日志模式

show variables like "binlog_format";

查看bin log日志的POS值

show master status;

制定备份脚本每日定时备份,把该脚本运行定时任务每日凌晨全备并且在备份是时候记录bin log的POS位置值

#!/bin/bash

source /etc/profile

#mysqldump to fully backup mysql data

port=$1

password='password'

if [ $# -ne 1 ];then

echo "Usage: sh all.sh (3306|3307)"

exit 1

fi

psocket=`ps -ef|grep $port|grep "socket"|awk -vRS="--socket" '{t=$0;}END{print "--socket"t}'|awk '{print $1}'`

if [ -f /root/.bash_profile ];then

source /root/.bash_profile

fi

#定义备份目录

BakDir=/opt/mysqlbak/full${port}

[ ! -d $BakDir ] && mkdir -p $BakDir

LogFile=$BakDir/bak.log

Date=`date +%Y%m%d`

Begin=`date +"%Y年%m月%d日 %H:%M:%S"`

cd $BakDir

DumpFile=$Date.sql

GZDumpFile=$Date.sql.tgz

mysqldump -uroot -p"$password" --all-databases --lock-all-tables --routines --triggers --events --master-data=2 --flush-logs $psocket --set-gtid-purged=OFF > $DumpFile

tar zcvf $GZDumpFile $DumpFile

if [ -f $DumpFile ];then

rm -rf $DumpFile

fi

Last=`date +"%Y年%m月%d日 %H:%M:%S"`

echo 开始:$Begin 结束:$Last $GZDumpFile succ >> $LogFile

sleep 1

#删除超过10天的全备文件

find $BakDir -name "*.tgz" -mtime +10 -exec rm -rf {} \;

恢复

全备恢复,把备份文件解压缩,把解压后的文件打开查看POS值(在22行左右)

使用全备进行全量恢复,恢复前需关闭前端应用已避免数据混乱

mysql -uroot -p123456 -h127.0.0.1 < 20190117.sql

使用bin log进行增量恢复,为测试恢复效果在master主机上面新建数据库及表

create database test;

use test

create table test(id int);

insert into test values(1);

select * from test;

创建一个test库和test表,并且往表里面插入一条数据

把mysql-bin.001446及以后的日志(如果有的话)都拷贝下来

使用mysqlbinlog命令还原日志,对于001446需要指定start position值,其他001446以后的日志(如果有的话)还原不需要指定start position值

mysqlbinlog mysql-bin.001446 --start-position=194 > 20190117binlog.sql

还原

mysql -uroot -p123456 -h127.0.0.1 < 20190117binlog.sql

查看是否还原

全量及增量备份恢复成功

PS:如果想针对单库进行增量恢复可以在mysqbinlog到处的时候加参数-d 例如

mysqlbinlog -d test mysql-bin.001446

backupexec mysql_MySQL使用mysqldump备份及还原相关推荐

  1. 10、单机运行环境搭建之 --Windows下mysqldump 备份与还原数据库

    编辑如下批处理 backup.bat @echo 设置MySql数据库的IP set ipaddress=127.0.0.1@echo 设置MySql数据库名 set db_name1=lxyy_db ...

  2. mysql 使用mysqldump 备份和还原

    使用mysqldump实现数据库的备份和还原 一.备份 mysqldump -uroot -p --opt bbs | gzip > back.sql bbs为数据库   --opt 为Mysq ...

  3. mysql备份与还原-mysqldump备份、mysql与source还原

    以下都以在linux操作系统上的mysql为例 mysqldump备份 mysqldump实际就是将数据库中的数据转化为建库.建表和插入记录的sql语句 1.备份一个数据库 [或其中几个表],不指定表 ...

  4. MySQL数据库的mysqldump完全备份、binlog的增量备份与还原

    MySQL数据库的mysqldump完全备份.binlog的增量备份与还原 一. 备份的目的: 做灾难性恢复:对损坏的书籍进行恢复和还原 需求改变:因需求改变而需要把数据还原到改变以前 二. 备份需要 ...

  5. mysql dump 数据时间_使用mysqldump备份数据及做时间点还原测试步骤

    1.备份dbtest数据库数据 # mysqldump --databases dbtest --master-data=2 --single-transaction >s2.sql 记录当前的 ...

  6. mysqldump备份还原

    为什么80%的码农都做不了架构师?>>>    mysqldump备份还原和mysqldump导入导出语句大全详解 转 mysqldump备份还原和mysqldump导入导出语句大全 ...

  7. MySQL 数据库备份和还原数据库 mysqldump、source

    1. 备份数据库或指定的表 备份指定的数据库,默认包含表数据 mysqldump -u用户名 -p[密码] 库名 > 文件路径 导出指定数据库中的所有表的结构,不要表中的数据 -d 是否只导出表 ...

  8. MySQL备份与恢复-使用mysqldump进行数据的备份与还原

    使用mysqldump进行数据的备份与还原 备份数据的最终目的是为了在出现一些意外情况时,能够通过备份将数据还原,所以单单的备 份数据往往是无法满足还原时的需求的,所以在备份数据库时,除了要备份数据本 ...

  9. Centos 6.4下MySQL备份及还原详情介绍

    我们前面文中中介绍了centos 6.4下MySQL的安装及配置,安装后为了保证数据的安全性所以我们同样也要学会备份及还原,备份及还原操作在我们的真实工作环境中是必不可少的,由于是对数据库数据备份,所 ...

最新文章

  1. android如何展示富文本_android高仿今日头条富文本编辑(发布文章)
  2. [喵咪的Liunx(1)]计划任务队列脚本后台进程Supervisor帮你搞定
  3. ubuntu18下配置VS Code
  4. cdrx4自动排版步骤_现在的大学生,都不会论文排版了
  5. nmap,tcpdump
  6. 学python要有多少英语词汇量测试_“扫地僧”!自学Python编程、英语词汇量15000……北大保安再上热搜...
  7. ubuntu下无法在目录下创建文件夹,权限不足解决办法
  8. 第十章 PX4-Pixhawk-姿态控制
  9. 13个超棒的代码资源网站推荐
  10. SpringBoot 注解 @Configuration @PropertySource @Value
  11. 微信小程序基于swiper组件的tab切换
  12. AI+教育落地,百度大脑如何让校园更智能?
  13. Fabric 1.0的多机部署
  14. fpga烧写bin文件_FPGA烧写的方式和具体过程分析
  15. 计算机科技想象作文600字,科技想象作文600字四篇
  16. 前端干货-网站资源收集
  17. 初学者对于SVM的一点点学习心得
  18. 2018王鼎杯-fakebook-详细解说
  19. 关机时没有退出clash代理,导致重启后浏览器无法访问网页
  20. 删除windows系统垃圾 代码

热门文章

  1. 19c打补丁简易步骤
  2. java开发系统内核:放大招!为系统开发星球大战游戏程序
  3. 【mysql】You must reset your password using ALTER USER statement before executing this statement报错处理
  4. 802.11 - (1)
  5. SQL SERVER 索引优化——移除键查找(书签查找)或RID查找
  6. vue+springboot 制作属于自己的个人网站 ① vue前端部署
  7. 关于pywin32引起python应用退出时c0000005错误的分析和解决
  8. java什么是类型擦除_Java 泛型,你了解类型擦除吗?
  9. 设计模式 工厂模式 从卖肉夹馍说起
  10. 你会如何给全局对象添加toString()方法