mysql系列之5--完全备份和增量备份

一、利用系统自带的工具实现完全备份:mysqldump

1、备份所有的数据库:

mysqldump -hlocalhost -uroot -p12345678   --all-databases > /opt/$(date +%F).sql

//--all-databases--所有数据库 /opt/$(date +%F).sql 重定向到以日期命名的文件

2、备份指定的数据库:

mysqldump -hlocalhost -uroot -p12345678   db1 db2  > /opt/$(date +%F).sql

3、完全恢复:首先要确保库存在,没有先创建

mysql -hlocalhost -uroot -p12345678 db88 < /opt/123.sql

4、完全恢复也可以在mysql命令行里进行:source  /opt/2018-01-22.sql

5、完全备份可以用定时计划任务来进行

if [ ! -d /data ];then    //首先判断该目录是否存在,不存在则创建

mkdir /data

fi

mysqldump -uroot -p12345678 test > /data/$(date +%F)-test.sql

二、启用binlog日志实现实时增量备份

1、二进制日志,记录除查询之外的sql命令

由于mysql默认没有启用binlog日志,故需在配置文件里面修改

日志文件,不能大于500M,mysqlbinlog server51-bin.000001 //查看日志命令

server_id=51                       //服务器编号,唯一

log-bin=/mysqllog/server51  //启用logbin日志文件,指定其路径和文件名,必须要给mysql帐号权限

binlog-format="mixed"        //指定日志文件格式,有三种格式

2、日志文件记录sql命令的方式

时间: 180127 23:23:29 server id 51

偏移量:  at 313

3、恢复数据

A、偏移量恢复:

mysqlbinlog  --start-position=378  --stop-position=534  /mysqllog/server51.000001      |  mysql -uroot  -p12345678

起始偏移量                           终止偏移量                       binlog日志文件                                                 登陆的帐号和密码

B、时间恢复

mysqlbinlog --start-datetime="2018-1-27 23:22:22" --stop-datetime="2018-1-27 23:23:29"  //指定起始时间和终止时间

/mysqllog/server51.000001   |  mysql -uroot  -p12345678    //指定日志文件和登陆的用户名和密码

4、  手动生成新的日志文件   binlog

刷新日志:flush logs;

登陆时创建:mysql  -uroot  -p123456   -e  "flush logs"

导出备份数据库时:mysqldump  -uroot  -p123456  --flush-logs  db4  > /root/db4.sql

重启服务器时生成新的日志文件

5、如何删除日志

mysql> reset   master;        //删除所有的日志,生成一个新的日志文件

mysql> purge  master  logs  to  "日志文件名";   //删除单个日志文件

mysql> purge  master  logs  to "plj.000006";     //删除指定日志文件之前所有的日志文件

原文地址:http://blog.51cto.com/453412/2065955

时间: 2024-11-06 11:42:49

mysql系列之5--完全备份和增量备份的相关文章

Percona Xtrabackup备份mysql (完整备份与增量备份)

Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM 的备份同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热备 2.增量备份MySQL 3.流压缩到传输到其它服务器 4.能比较容易地创建主从同步 5.备份MySQL时不会增大服务器

Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)

原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份 同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热备 2.增量备份MySQL 3.流

MySQL备份与增量备份

MySQL备份与增量备份 01)MySQL备份常用参数 -B 1.会备份创建和删除库的语句:2.备份多个库: --compact 去注释,适合调试 gzip 压缩:# mysqldump -uroot -pqb123 -S /data/3306/mysql.sock -F -B --master-data=2 mydb|gzip > /server/backup/bak_$(date +%F).sql.gz -A 备份所有库 -F 刷新binlog日志 --master-data=1/2 增加b

Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)

Percona Xtrabackup备份mysql大数据库(完整备份与增量备份) 文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 innobackupex使用方法 完整备份及还原 增量备份及还原 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁).XtraBackup支持所有的Percona

mysql数据库自动化完整备份和增量备份

mysql数据库自动化完整备份和增量备份     增量备份,为了增强mysql数据库的安全性和完整性,需要对数据进行备份.这里我们采用的策略是每周五下午5:30进行一次完整备份:每天的6:00.12:10.17:00进行增量备份. 1.完整备份脚本如下:(备份之后并打包存储) 2.增量备份脚本如下:(将生成的二进制文件内容读取出来并导入一个新的sql文件中) 增量备份的前提时,要在mysql的配置文件里打开二进制功能: log-bin=mysql 3.将这两个加进计划任务里 4.执行结果: 数据

xtrabackup 全备份,增量备份,恢复 mysql数据库

Xtrabackup使用指南 InnoDB数据备份工具 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写,也就是不加锁),是商业备份工具InnoDB Hotbackup的一个很好的替代品 一.Xtrabackup介绍  A.Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具

Percona Xtrabackup实现mysql全量备份和增量备份

###########################################################################        安装mysql或者mariaDB本地也要装mysql或者mariaDB相关的包          ##########################################################################略 ######################################### 

mysql全量备份及增量备份流程

由于线上mysql数据量很大,天天进行全备份数据既浪费时间又占用资源,所以打算采用全量备份和增量备份结合的方式进行备份采用每周日全量备份.周一到周六增量备份的方式背景是从一台mysql上进行备份,然后还原到另一台mysql上实际上是从线上数据库备份,再还原到线下数据库上先从线下找两台机器测试用191机器模拟线上mysql在122机器上新装了一个mysql用来还原 全备份 先说一下全备份,在191上 #!/bin/bash cd /opt/bak/local/mysql/test date_str

mysql全量备份与增量备份

一.全量备份 全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -p456 -S /data/3306/mysql.sock -F -A -B |gzip >/server/backup/mysqlbak_$(date+%F).sql.gz 备份一个库: mysqldump -uroot -p456 -S /data/3306/mysql.sock -F -B oldboy|gzip >/server/backup/mysqlbak_$(date+%F

mysql的全量备份与增量备份

全量备份:可以使用mysqldump直接备份整个库或者是备份其中某一个库或者一个库中的某个表. 备份所有数据库:[[email protected] ~]# mysqldump -uroot -p123456 --all-databases >/opt/all.sqlmysqldump: [Warning] Using a password on the command line interface can be insecure. 备份单个数据库的所有表:[[email protected]