zoukankan      html  css  js  c++  java
  • innobackupex不停库的数据备份并恢复到别的服务器上【转】

    1、innobackupex原理:

    备份原理

    1)、首先会开启一个后台检测进程,实时检测myql redo的变化,一旦发现redo中有新日志写入,立即将日志记入后台日志文件xtrabackup_log中

    2)、复制innodb的数据文件和系统表空间文件ibdata1

    3)、执行flush tables with read lock操作(防止数据表发生DDL操作,并且在这一时刻获得binlog的位置),复制.frm、.MYI、.MYD等文件

    恢复原理

    1)、启动xtrabackup内嵌的innodb实例

    2)、回放xtrabackup日志xtrabackup_log

    3)、将提交的事务信息变更应用到innodb数据/表空间,同时回滚未提交的事务。

    2、操作模拟

    操作目的:不停库的情况下将10.200.70.185的数据备份并恢复到10.200.70.183中

    操作系统:centos 6.5

    innobackupex版本:1.5.1

    操作如下

    1)、全备(在10.200.70.185上操作)

    # cd /home/mysql

    # mkdir data

    # innobackupex --user=root password=martin --defaults-file=/usr/local/mysql/data/my.cnf -- data/

    会在当前路径下的data文件夹下生成当前时间的文件夹

    # ls ./data

    2016-12-22_21-07-10

    2)、数据传输(在10.200.70.185上操作)

    # cd /home/mysql/data

    # scp -r 2016-12-22_21-07-10 10.200.70.183:/home/mysql/datadir

    会将185上的全备数据传输到183的/home/mysql/datadir(如没有改文件夹,scp之前需要在183上新建)

    在10.200.70.183上操作

    3)、应用日志

    # cd /home/mysql/datadir

    # innobackupex --apply-log ./2016-12-22_21-07-10/

    4)、停库并清空data下的数据

    # /etc/init.d/mysql.server stop

    # cd /usr/local/mysql/

    # mv data data_old

    # mkdir data

    # cp data_old/my.cnf data/

    5)、拷贝文件

    # innobackupex --defaults-file=/usr/local/mysql/data/my.cnf --copy-back /home/mysql/datadir/2016-12-22_21-07-10/

    6)、启动数据库

    先更改属主

    # chown -R mysql.mysql /usr/local/mysql

    启动

    # /etc/init.d/mysql.server start

    转自

    MySQL常用工具(三):热备工具innobackupex - 今日头条(www.toutiao.com)
    http://www.toutiao.com/i6366564434063655425/

  • 相关阅读:
    简单爬虫爬取知乎日报并保存日报网页到本地
    从0开始学爬虫6比价工具开发2之图书信息汇总
    从0开始学爬虫6比价工具开发1之爬取当当、京东的数据
    从0开始学爬虫5之优雅的使用字符串
    从0开始学爬虫4之requests基础知识
    从0开始学爬虫3之xpath的介绍和使用
    从0开始学爬虫2之json的介绍和使用
    从0开始学爬虫1之环境搭建篇
    jenkins结合supervisor进行python程序发布后的自动重启
    ansible常用的方法小结
  • 原文地址:https://www.cnblogs.com/paul8339/p/6731754.html
Copyright © 2011-2022 走看看