码迷,mamicode.com
首页 > 数据库 > 详细

MYSQL备份与恢复策略与教程

时间:2015-02-12 21:22:47      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:

  数据备份属于数据容灾保护中的内容,所有的数据备份系统设计都基于这五个元素,备份源、备份目标、传输网络、备份引擎和备份策略。用户按照需要制定备份策略,使用定时任务执行备份脚本,使用备份引擎将需要备份的的数据从备份源通过传输网络传送到备份目标。

  备份五元组:

  1、备份源

  需要备份的数据统一称为备份源,可以是文本数据,音视频数据,也可以是数据库数据等等。

  2、备份目标

  存放备份数据的位置,通常建议将备份数据存放在异机,或者是更远的数据中心,备份目标可以是在线的磁盘,磁盘阵列柜,也可以是磁带库或是虚拟带库。而备份目标所在的位置可以在同一个数据中心,也可以是容灾机房。www.gogoqq.cc

  3、传输网络

  备份数据时使用的传输链路,可以是专线,以太网,Internet,VPN等等,只要保证备份源与目标之间的路由可达即可。

  4、备份引擎

  数据要能够从源到目标流动,就要有动力,就像是水要流动一样,这个动力来源就是备份引擎,像mysqldump,nvbu,还有大量的备份软件都是备份引擎。www.mekka.cc

  5、备份策略

  为了有效备份,并减少人为操作,应该制定完善的备份策略。通常全备与差备与增备相结合,备份的时间点应该尽量避开业务高锋期,通常在晚上执行,通过定时任务实现。

  MYSQL数据备份原理

  mysql数据备份其实就是通过SQL语句的形式将数据DUMP出来,以文件的形式保存,而且导出的文件还是可编辑的,这和Oracle数据库的rman备份还是很不一样的,mysql更像是一种逻辑备份从库中抽取SQL语句,这就包括建库,连库,建表,插入等就像是将我们之前的操作再通过SQL语句重做一次。www.cooke360.cc

  MYSQL的日志类型

  1、 二进制日志(log-bin)

  二进制日志非常重要,二进制日志会记录mysql数据库的所有变更操作,其实和oracle的redolog日志原理差不多,由于它记录的所有的操作,于是我们就可以使用某个时间点之后的二进制日志做前滚操作,来增量恢复数据。

  mysql的二进制日志可以使用mysqlbinlog来进行查看和过滤,一直过滤到我们想要的数据再导入数据库,而且也是非常方便的,但尤其要强调的是要严格按照二进制日志生成的顺序执行。www.lslz.net

  用途:记录所有变更操作,用于增量备份

  配置:在my.cnf中添加

  [mysqld]

  log-bin =mysql-bin

  log-bin-index =mysql-bin.index

  2、 中继日志(relay-log)

  顾名思义,传递日志,主要用在主从复制的架构中,只在从库中有中继日志(多级复制除外)在从库中将主库复制过来的二进制日志保存为中继日志,用于从库重构数据。

  配置:在my.cnf中添加

  [mysqld]

  relay-log =relay-log

  relay_log_index= relay-log.index

  3、 慢查询日志(slow_query_log)

  慢查询日志主要用于mysql优化,从数据库中找出哪些SQL语句是比较慢的,将其放到一个文件中,后续可以使用mysqlsla工具去对慢查询语句进行分析,将分析结果提交给开发进行SQL优化。www.iistone.net

  用途:找出慢查询进行优化

  配置:在my.cnf中添加

  [mysqld]

  slow_query_log= 1

  long-query-time= 2

  slow_query_log_file= /data/3306/slow.log

  4、 一般查询日志

  会记录所有访问mysql的行业,因此会产生大量日志,一般建议关闭。

  配置:在my.cnf中添加

  [mysqld]

  general_log = 1

  log_output =FILE

  general_log_file= /home/mysql/mysql/log/mysql.log

  5、 错误日志

  记录mysql产生的错误,这个日志在排错的时候相当有用,一般建议开启。

  配置:在my.cnf中添加

  [mysqld]

  log-warnings =1

  log-error =/home/mysql/mysql/log/mysql.err

  6、 事务日志

  缓存事务提交的数据,实现将随机IO转换成顺序IO。

  配置:在my.cnf中添加

  [mysqld]

  innodb_log_buffer_size= 16M

  innodb_log_file_size= 128M

  innodb_log_files_in_group= 3

MYSQL备份与恢复策略与教程

标签:

原文地址:http://www.cnblogs.com/fengmandaren/p/4288838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!