Mysql备份I

Mysql备份I

I备份在什么时候会被需要

硬件故障 机器无法启动 机器突然消失了怎么办
业务出现异常 一定要先select 在操作 类似drop或delete的操作 攻击 程序bug
业务特殊需求 
重要数据多处多次多版本备份
至少有2份远程备份文件2处本地备份

II哪些东西需要备份

My.cnf innodb大小写不一样起不来 和数据放到一起备份(机器突然消失了怎么办) Cron 也要备份

数据库中的数据
Logfiles and position
配置文件 my.cnf和cron
要经常验证备份的有效性

III什么时候开始备份

负载小的时候 业务少的时候

IV备份数据放到哪里

优先考虑本地 
数据大的时候怎么备份
专用存储 IPSAN NAS 大容量PCServer
分布式文件系统HDFS
磁带或光盘等其他介质

V怎样备份

V.I备份策略的确定

1数据恢复或还原的速度
2数据丢失的允许程度
3数据的大小与成本的平衡
制定备份计划 备份周期 备份容量 恢复速度评估

对于小型等级业务量的系统来说,直接每天全量备份,定期删除就可以了50G<
>50G 主从
对于中等级别业务量的系统来说,备份策略可以这么定:第一次全量备份,每天一次增量备份,每周再做一次全量备份,如此一直重复。而对于重要的且繁忙的系统来说,则可能需要每天一次全量备份,每小时一次增量备份,甚至更频繁。为了不影响线上业务,实现在线备份,并且能增量备份,最好的办法就是采用主从复制机制(replication),在 slave 机器上做备份

出现操作系统崩溃或电源故障时,InnoDB自己可以完成所有数据恢复工作。应遵从下面的指导:
· 一定用--log-bin或甚至--log-bin=log_name选项运行MySQL服务器,其中日志文件名位于某个安全媒介上,不同于数据目录所在驱动器。如果你有这样的安全媒介,最好进行硬盘负载均衡(这样能够提高性能)。
· 定期进行完全备份,使用mysqldump命令进行在线非块备份。
· 用FLUSH LOGS或mysqladmin flush-logs清空日志进行定期增量备份。

V.II备份方式的选择

热备
不停业务的备份
Xtrabackup
双机热备份

双机热备份通过日志文件来传输入服务器上数据的变化。主服务器进程在数据被更新时触发。并将相应的日志文件发送到从服务器。从服务器进程接收到主服务器发送的日志文件,做出相应的更改操作

主服务器的配置
编辑my.cnf文件,定义到mysqld,加入内容

   Server-id=1
   Log-bin=c:/log-bin.log
   Binlog-do-db=dbname

创建dbname数据库
进入mysql操作,为从服务器授权访问数据库的用户名和密码

    grant replication slave on *.* to ‘root’@从服务器IP identified by ‘密码’

重启MySQL服务器,使更改生效
重新进入到MySQL的命令,执行命令检测配置是否生效:

    Show master status\G

从服务器的配置
在从服务器中创建与主服务器中相同的数据库
找到从服务器中的my.cnf文件,定位到[mysqld],加入以下内容:

    Server-id=2
    Master-host=主服务器IP
    Master-port=3306(主服务器端口号)
    Master-user=root(主服务器用户名)
    Master-password=密码(主服务器密码)
    Master-connect-retry=60(等待尝试重新连接的秒数)

重新启动MySQL服务器,使配置生效
进入到从服务器MySQL操作,执行启动进程

    Slave start


冷备

停掉业务或DB进行备份
停止的库上做tar,copy,rsync等备份

V.III备份方式

V.III.I逻辑备份 logical backup 导出为.sql文件的备份

MySQLdump MySQLdumper

V.III.II物理备份 physical backup对文件进行备份

备份binlog,
基于slave的xtrabackup,tar,copy,mylvmbackup,Rsync

V.III.III本地备份 local backup

优先考虑本地 
远程备份网络和恢复速度会有影响

V.III.IV远程备份 remote backup

V.III.V全量备份 full backup

不依赖文件的存盘属性来确定备份哪些文件。
任何现有的标记都被清除,每个文件都被标记为已备份,清除存盘属性
备份速度慢,恢复时间长,使用空间大

V.III.VI增量备份 incremental backup

做完全量备份之后,开始做的binlog备份
备份上一次的完全备份后发生变化的所有文件
备份速度快,恢复时间长,使用空间小
如果要还原一个备份档案,必须把所有增量备份的磁盘都找一遍,直到找到为止,要复原整个档案系统,那就得先复原最近一次的完整备份,然后复原一个又一个的增量备份。

V.III.VII差异备份(differential backup)

是复制上次全备份以来所有变更数据的一种备份
恢复速度快,恢复需要的备份档少
一个档案只要自上次完整备份后,曾被更新过,那么接下来每次做差异备份时,这个档案都会被备份直到下一次完整备份为止。
差异备份过程中,只备份有标记的那些选中的文件和文件夹
不将文件标记为已经备份备份后不标记为已备份文件,换言之,不清除存盘属性
这表示差异备份中的档案,都是自上次完全备份之后,曾被改变的档案。如果要复原整个系统,只要先复原完全备份,再复原最后一次的差异备份即可。

号 mysqladmin flush-logs

1.运行mysql的时候加上 --log-update=/tmp/mysql.update.log
2.给差分文件创建编号 mysqladmin flush-logs
3.恢复按编号从小到大的顺序 mysql -D mydatabase < /tmp/mysql.update.log.001

原创文章,作者:双庆 李,如若转载,请注明出处:http://www.178linux.com/18002

(0)
双庆 李双庆 李
上一篇 2016-06-09 22:14
下一篇 2016-06-09 22:14

相关推荐

  • 8.1_Linux管道的使用和用户管理

    什么是管道? 管道就是把命令1的标准输出发送给命令2的标准输入,把命令2发的标准输出发送给命令3的标准输入。。。 最后一个命令会在当前shell进程的子shell进程中执行用来 管道实现了使用目的单一的小程序,组合小程序完成复杂的任务 管道需要配合其他命令的使用 tr命令的使用,常常用于配合管道     -c或–co…

    Linux干货 2016-08-10
  • keepalived+nginx部署(单主模型)

    环境准备Centos7系统,后端服务器提供web服务。地址规划: VS1: 172.18.51.7 VS2:172.17.51.77 RS1:172.18.51.74 RS2:172.18.51.75 VirtualIP:172.18.51.82 拓扑图: 原理:nginx是高度模块化的应用程序,其中nginx_proxy模块即可实现负载均衡,将前端的用户请…

    2017-05-17
  • Linux基础之加密通讯过程详解

    加密通讯过程详解 第一阶段 客户端->服务器端 向服务器声明自己的加密通讯协议版本,ssl或者tls 支持的加密算法 支持的压缩算法 第二阶段 服务器端->客户端 向客户端确认使用的加密通讯协议版本 确认的加密方法 确认压缩方法 服务器端证书 第三阶段 客户端->服务器端 客户端验证服务器端证书 发证机构 证书完整性 证书持有者 证书有效期…

    2017-09-16
  • sed 高级编辑命令、模式空间、保持空间、vi 可视化模式、vimrc、地址定界

    sed 高级编辑命令、模式空间、保持空间、vi 可视化模式、vimrc、地址定界 sed(stream deitor):行编辑器 【概述】sed是一种流式编辑器,它一次处理一行内容。处理时,把当前处理的行的所有内容存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,逐行处理,不修改文件。sed主要…

    Linux干货 2016-08-11
  • 8.9作业

    删除/etc/grub2.conf文件中所有以空白开头的行,行首的空白字符 [root@English6 ~]# sed "s@^[[:space:]]\+@@" /etc/grub.conf  # grub.conf generated by an…

    Linux干货 2016-08-11
  • centos7配置bindDNS解析服务

    首先来概述一下 通俗一点理解呢,DNS就是把域名转换成IP的一种服务(反向则是IP转换成域名).以方便人们的记忆,就好比记住一个代表性的英文要比记住电话号码快得多,通常我们将这种服务称之为解析.现在一般公网都有万网 腾讯云这些机构,DNS这一块我们不需要负责.但是在现在企业的内部网则就需要我们来搭建DNS服务器了.本次采用的bind工具进行域名的解析。 1.…

    Linux干货 2018-03-26