• mysql备份学习笔记及xtrabackup安装


    (参考书籍:《深入浅出MySQL》)

    一、备份恢复策略

    a)      确定要备份的表的存储引擎是事务型还是非事务型

    b)      确定使用全备份还是增量备份

    c)      定期做备份,备份的周期需要充分考虑系统可承受恢复时间

    d)      确保MySQL打开log-bin选项,有了BINLOG,MySQL才可以在必要的时候做完整恢复,或基于时间点的恢复,或基于位置的恢复

    二、备份

    a)      备份指定的数据库或者此数据库中的某些表

                     i.          mysqldump [options] db_name [tables]

    b)      备份指定的一个或多个数据库

                     i.          mysqldump [options] --databases DB1 [DB2 DB3 ...]

    c)      备份所有数据库

                     i.          mysqldump [options] --all-database

    三、恢复

    1、 完全恢复

    mysql -uroot -p dbname<bakfile

    mysqlbinlog binlog-file|mysql -u root -p***(备份后数据不完整将备份后执行的日志进行重做)

    2、 基于时间点恢复(不完全恢复)

    a)      上午10点发生误操作,用备份和binlog将数据恢复到故障前

    mysqlbinlog –stop-date=”2005-04-20 9:59:59” /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

    b)      跳过故障时的时间点,继续执行后面的BINLOG,完成恢复

    mysqlbinlog --start-date=”2015-04-20 10:01:00” /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

    3、 基于位置恢复

    a)      在/tmp目录创建小的文本文件,编辑此文件,找到出错语句前后的位置号,例如前后位置号分别是368312和368315

    mysqldump --start-date=”2005-04-20 9:55:00” --stop-date=”2005-04-20 10:05:00” /var/log/bin.123456 > /tmp/mysql_restore.sql

    b)      mysqlbinlog --stop-position=”368312” /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

    mysqlbinlog --start-position=”368315” /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

    四、Xtrabackup热备工具

    InnoDB在线热备工具,具有开源、免费、支持在线热备、备份恢复速度快、占用磁盘空间小等特点,支持不同情况下的多种备份形式。

    包含两个主要的工具,即xtrabackup和innobackupex,主要区别:

           xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表;innobackupex是一个封装了xtrabackup的Perl脚本,支持同时备份InnoDB和MyISAM,但在对MyISAM备份时需要加一个全局的读锁。

    五、备份操作记录

           --xtrabackup安装

           --下载安装xtrabackup(2.4.4)(/usr/local/software/ percona-xtrabackup-2.4.4.tar.gz)

           wget http://...

          

           --解压缩xtrabackup安装包

           tar zxvf percona-xtrabackup-2.4.4.tar.gz

          

           --移动重命名

           mv percona-xtrabackup-2.4.4 /usr/local/xtrabackup

          

           --安装依赖插件

           yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses5-devel

           --cmake编译

           cmake -DBUILD_CONFIG=xtrabackup_release && make -j4

           --安装

           make install

           --链接bin到系统目录

           ln -sf /usr/local/xtrabackup/bin/innobackupex /usr/bin/

           ln -sf /usr/local/xtrabackup/bin/xtrabackup /usr/bin/

    ========================================

           --cmake编译过程中错误:

           --安装boost(/usr/local/software/boost_1_59_0.tar.gz)

           wget http://...

           tar zxvf boost_1_59_0.tar.gz

           mv boost_1_59_0 /usr/local/boost

           cd /usr/local/boost

        ./bootstrap.sh

        ./b2 install --perfix=dir

           --安装libev(/usr/local/software/libev-4.24.tar.gz)

           wget http://...

           tar zxvf libev-4.24.tar.gz

           mv libev-4.24 /usr/local/libev

           ./configure

           make

           make install

           --安装crypt

           yum install crypt*

           yum install libgcrypt*

    ==========================================

           --mysql启动bin-log

           --/etc/my.cnf配置文件中

           log_bin=mysql-bin

           server-id=1

  • 相关阅读:
    项目管理5大过程组,42个过程一句话讲解
    在命令中输入信息创建maven项目
    《Maven应用实战》一书的在线学习网址和源码链接
    [转]使用Eclipse创建一个简单的servlet项目
    使用Maven客户端从Maven中心仓库下载到本地的jar包的默认存储位置及远程仓库
    ant利用ivy从maven仓库下载项目所依赖的jar包默认的存储位置
    Ant和Ivy集成部署和使用
    Ant入门简单实例
    TIBCO Jaspersoft Studio-6.12.2连接mysql时显示时区问题
    JAVA Swing日期选择控件datepicker的使用
  • 原文地址:https://www.cnblogs.com/fantastic-clouds/p/8027828.html
Copyright © 2020-2023  润新知