percona-xtrabackup快速安装及其简单使用

  1. cd /opt/
    环境:centos6.x
  2.  
  3. yum -y install perl-DBI
    yum -y install perl-DBD-MySQL
    yum -y install perl-IO-Socket-SSL.noarch
    yum -y install perl-Time-HiRes  
    yum -y install perl-TermReadKey
    yum -y install perl-ExtUtils-MakeMaker
  4. [root@db130 opt]# rpm -aq | grep libgcrypt
  5. libgcrypt-devel-1.4.-.el6_8.x86_64
  6. libgcrypt-1.4.-.el6_8.x86_64
  7. # 下载对应的版本
  8. wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.12/binary/tarball/percona-xtrabackup-2.4.12-Linux-x86_64.libgcrypt145.tar.gz
  9. tar -zxf percona-xtrabackup-2.4.-Linux-x86_64.libgcrypt145.tar.gz
  10. mv percona-xtrabackup-2.4.-Linux-x86_64 percona-xtrabackup-2.4.
  11. ln -s /opt/percona-xtrabackup-2.4.12/bin/* /usr/bin/
  1. # 快速尝试恢复操作
    # 备份的文件是:/root/tmp/data_test-03-28.tar.bz2
    # 进行恢复前,请先找个环境,或者在本地直接恢复时,先停止数据库。
    并且清空数据目录: /data/mysql/percona_server/data  # 我这里是这个目录
    [root@db130 tmp]# rm -rf /data/mysql/percona_server/data/*
  2.  
  3. tar -jxf data_test-03-28.tar.bz2
    [root@db130 tmp]# ll
    total 2097328
    -rw-r----- 1 mysql mysql        489 Mar 28 00:01 backup-my.cnf
    -rw-r----- 1 mysql mysql 2147483648 Mar 28 00:00 ibdata
    -rw-r--r-- 1 mysql mysql      82769 Mar 28 00:01 innobackup.log
    -rw-r--r-- 1 mysql mysql       3000 Mar 28 00:01 my.cnf
    drwxr-x--- 2 mysql mysql       4096 Mar 28 00:01 mysql
    drwxr-x--- 2 mysql mysql       4096 Mar 28 00:01 performance_schema
    drwxr-x--- 2 mysql mysql      16384 Mar 28 00:01 db_test
    -rw-r----- 1 mysql mysql        223 Mar 28 00:01 xtrabackup_binlog_info
    -rw-r----- 1 mysql mysql        121 Mar 28 00:01 xtrabackup_checkpoints
    -rw-r----- 1 mysql mysql        877 Mar 28 00:01 xtrabackup_info
    -rw-r----- 1 mysql mysql      37888 Mar 28 00:01 xtrabackup_logfile
    -rw-r----- 1 mysql mysql         79 Mar 28 00:01 xtrabackup_slave_info
  4.  
  5. [root@db130 opt]# innobackupex --apply-log --use-memory=1G /root/tmp/
    xtrabackup: recognized server arguments: --innodb_checksum_algorithm=innodb --innodb_log_checksum_algorithm=innodb --innodb_data_file_path=ibdata:2G:autoextend --innodb_log_files_in_group=3 --innodb_log_file_size=536870912 --innodb_fast_checksum=0 --innodb_page_size=16384 --innodb_log_block_size=512 --innodb_undo_directory=. --innodb_undo_tablespaces=0 --server-id=1535086937 --redo-log-version=0
    xtrabackup: recognized client arguments: --innodb_checksum_algorithm=innodb --innodb_log_checksum_algorithm=innodb --innodb_data_file_path=ibdata:2G:autoextend --innodb_log_files_in_group=3 --innodb_log_file_size=536870912 --innodb_fast_checksum=0 --innodb_page_size=16384 --innodb_log_block_size=512 --innodb_undo_directory=. --innodb_undo_tablespaces=0 --server-id=1535086937 --redo-log-version=0
    190328 17:56:49 innobackupex: Starting the apply-log operation
  6.  
  7. IMPORTANT: Please check that the apply-log run completes successfully.
               At the end of a successful apply-log run innobackupex
               prints "completed OK!".
  8.  
  9. innobackupex version 2.4.12 based on MySQL server 5.7.19 Linux (x86_64) (revision id: 170eb8c)
    xtrabackup: cd to /root/tmp/
    xtrabackup: This target seems to be not prepared yet.
    InnoDB: Number of pools: 1
    xtrabackup: xtrabackup_logfile detected: size=8388608, start_lsn=(31806247544)
    xtrabackup: using the following InnoDB configuration for recovery:
    xtrabackup:   innodb_data_home_dir = .
    xtrabackup:   innodb_data_file_path = ibdata:2G:autoextend
    xtrabackup:   innodb_log_group_home_dir = .
    xtrabackup:   innodb_log_files_in_group = 1
    xtrabackup:   innodb_log_file_size = 8388608
    xtrabackup: using the following InnoDB configuration for recovery:
    xtrabackup:   innodb_data_home_dir = .
    xtrabackup:   innodb_data_file_path = ibdata:2G:autoextend
    xtrabackup:   innodb_log_group_home_dir = .
    xtrabackup:   innodb_log_files_in_group = 1
    xtrabackup:   innodb_log_file_size = 8388608
    xtrabackup: Starting InnoDB instance for recovery.
    xtrabackup: Using 1073741824 bytes for buffer pool (set by --use-memory parameter)
    InnoDB: PUNCH HOLE support available
    InnoDB: Mutexes and rw_locks use GCC atomic builtins
    InnoDB: Uses event mutexes
    InnoDB: GCC builtin __sync_synchronize() is used for memory barrier
    InnoDB: Compressed tables use zlib 1.2.3
    InnoDB: Number of pools: 1
    InnoDB: Using CPU crc32 instructions
    InnoDB: Initializing buffer pool, total size = 1G, instances = 1, chunk size = 128M
    InnoDB: Completed initialization of buffer pool
    InnoDB: page_cleaner coordinator priority: -20
    InnoDB: Highest supported file format is Barracuda.
    InnoDB: Log scan progressed past the checkpoint lsn 31806247544
    InnoDB: Doing recovery: scanned up to log sequence number 31806283251 (0%)
    InnoDB: Database was not shutdown normally!
    InnoDB: Starting crash recovery.
    InnoDB: Starting an apply batch of log records to the database...
    InnoDB: Progress in percent: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
    InnoDB: Apply batch completed
    InnoDB: xtrabackup: Last MySQL binlog file position 908352864, file name mysql-bin.000018
    InnoDB: Creating shared tablespace for temporary tables
    InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
    InnoDB: File './ibtmp1' size is now 12 MB.
    InnoDB: 96 redo rollback segment(s) found. 1 redo rollback segment(s) are active.
    InnoDB: 32 non-redo rollback segment(s) are active.
    InnoDB: Waiting for purge to start
    InnoDB: 5.7.19 started; log sequence number 31806283251
    InnoDB: xtrabackup: Last MySQL binlog file position 908352864, file name mysql-bin.000018
  10.  
  11. xtrabackup: starting shutdown with innodb_fast_shutdown = 1
    InnoDB: FTS optimize thread exiting.
    InnoDB: Starting shutdown...
    InnoDB: Shutdown completed; log sequence number 31806284939
    InnoDB: Number of pools: 1
    xtrabackup: using the following InnoDB configuration for recovery:
    xtrabackup:   innodb_data_home_dir = .
    xtrabackup:   innodb_data_file_path = ibdata:2G:autoextend
    xtrabackup:   innodb_log_group_home_dir = .
    xtrabackup:   innodb_log_files_in_group = 3
    xtrabackup:   innodb_log_file_size = 536870912
    InnoDB: PUNCH HOLE support available
    InnoDB: Mutexes and rw_locks use GCC atomic builtins
    InnoDB: Uses event mutexes
    InnoDB: GCC builtin __sync_synchronize() is used for memory barrier
    InnoDB: Compressed tables use zlib 1.2.3
    InnoDB: Number of pools: 1
    InnoDB: Using CPU crc32 instructions
    InnoDB: Initializing buffer pool, total size = 1G, instances = 1, chunk size = 128M
    InnoDB: Completed initialization of buffer pool
    InnoDB: page_cleaner coordinator priority: -20
    InnoDB: Setting log file ./ib_logfile101 size to 512 MB
    InnoDB: Progress in MB:
     100 200 300 400 500
    InnoDB: Setting log file ./ib_logfile1 size to 512 MB
    InnoDB: Progress in MB:
     100 200 300 400 500
    InnoDB: Setting log file ./ib_logfile2 size to 512 MB
    InnoDB: Progress in MB:
     100 200 300 400 500
    InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
    InnoDB: New log files created, LSN=31806284939
    InnoDB: Highest supported file format is Barracuda.
    InnoDB: Log scan progressed past the checkpoint lsn 31806285324
    InnoDB: Doing recovery: scanned up to log sequence number 31806285333 (0%)
    InnoDB: Database was not shutdown normally!
    InnoDB: Starting crash recovery.
    InnoDB: xtrabackup: Last MySQL binlog file position 908352864, file name mysql-bin.000018
    InnoDB: Removed temporary tablespace data file: "ibtmp1"
    InnoDB: Creating shared tablespace for temporary tables
    InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
    InnoDB: File './ibtmp1' size is now 12 MB.
    InnoDB: 96 redo rollback segment(s) found. 1 redo rollback segment(s) are active.
    InnoDB: 32 non-redo rollback segment(s) are active.
    InnoDB: Waiting for purge to start
    InnoDB: page_cleaner: 1000ms intended loop took 17842ms. The settings might not be optimal. (flushed=0 and evicted=0, during the time.)
    InnoDB: 5.7.19 started; log sequence number 31806285333
    xtrabackup: starting shutdown with innodb_fast_shutdown = 1
    InnoDB: FTS optimize thread exiting.
    InnoDB: Starting shutdown...
    InnoDB: Shutdown completed; log sequence number 31806287020
    190328 17:57:13 completed OK!
    [root@db130 opt]#
     
  12.  
  13. [root@db130 tmp]# cp -raf * /data/mysql/percona_server/data/
    [root@db130 tmp]# chown -R mysql.mysql /data/mysql/percona_server/data/*
    [root@db130 tmp]# su - mysql
    [mysql@db130 ~]$ cd /data/mysql/percona_server/data/
    [mysql@db130 data]$ rm -rf backup-my.cnf my.cnf innobackup.log xtrabackup_*
    [mysql@db130 data]$ ll
    total 3682340
    -rw-r----- 1 mysql mysql 2147483648 Mar 28 18:05 ibdata
    -rw-r----- 1 mysql mysql  536870912 Mar 28 18:05 ib_logfile0
    -rw-r----- 1 mysql mysql  536870912 Mar 28 17:57 ib_logfile1
    -rw-r----- 1 mysql mysql  536870912 Mar 28 17:57 ib_logfile2
    -rw-r----- 1 mysql mysql   12582912 Mar 28 18:05 ibtmp1
    drwxr-x--- 2 mysql mysql       4096 Mar 28 00:01 mysql
    drwxr-x--- 2 mysql mysql       4096 Mar 28 00:01 performance_schema
    drwxr-x--- 2 mysql mysql      20480 Mar 28 00:01 db_test
    [mysql@db130 data]$
  14.  
  15. # 启动数据库
    查看日志:
    tail -f /data/mysql/percona_server/logs/mysql-error.log
    2019-03-28 18:13:20 0 [Note] /data/mysql/percona_server/bin/mysqld (mysqld 5.6.41-84.1-log) starting as process 18085 ...
    2019-03-28 18:13:20 18085 [Note] Plugin 'FEDERATED' is disabled.
    2019-03-28 18:13:20 18085 [Note] InnoDB: Using atomics to ref count buffer pool pages
    2019-03-28 18:13:20 18085 [Note] InnoDB: The InnoDB memory heap is disabled
    2019-03-28 18:13:20 18085 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    2019-03-28 18:13:20 18085 [Note] InnoDB: Memory barrier is not used
    2019-03-28 18:13:20 18085 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2019-03-28 18:13:20 18085 [Note] InnoDB: Using CPU crc32 instructions
    2019-03-28 18:13:20 18085 [Note] InnoDB: Initializing buffer pool, size = 10.0G
    2019-03-28 18:13:25 18085 [Note] InnoDB: Completed initialization of buffer pool
    2019-03-28 18:13:28 18085 [Note] InnoDB: Highest supported file format is Barracuda.
    2019-03-28 18:13:30 18085 [Note] InnoDB: 128 rollback segment(s) are active.
    2019-03-28 18:13:30 18085 [Note] InnoDB: Waiting for purge to start
    2019-03-28 18:13:30 18085 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.41-84.1 started; log sequence number 31806291260
    2019-03-28 18:13:31 18085 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 231afb9b-5142-11e9-b4ba-000c29774efe.
    2019-03-28 18:13:31 18085 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
    2019-03-28 18:13:31 18085 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
    2019-03-28 18:13:31 18085 [Note] Server socket created on IP: '0.0.0.0'.
    2019-03-28 18:13:34 18085 [ERROR] Failed to open the relay log '/data/mysql/percona_server/relay_log/relay-bin.000049' (relay_log_pos 197442274).
    2019-03-28 18:13:34 18085 [ERROR] Could not find target log file mentioned in relay log info in the index file '/data/mysql/percona_server/relay_log/relay-bin.index' during relay log initialization.
    2019-03-28 18:13:34 18085 [ERROR] Failed to initialize the master info structure
    2019-03-28 18:13:34 18085 [Note] Check error log for additional messages. You will not be able to start replication until the issue is resolved and the server restarted.
    2019-03-28 18:13:36 18085 [Note] Event Scheduler: Loaded 0 events
    2019-03-28 18:13:36 18085 [Note] /data/mysql/percona_server/bin/mysqld: ready for connections.
    Version: '5.6.41-84.1-log'  socket: '/data/mysql/percona_server/run/mysql.sock'  port: 3306  Source distribution
  16.  
  17. 此时可以登录。
    mysql> stop slave ;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
  18.  
  19. mysql> reset slave all;
    Query OK, 0 rows affected (0.05 sec)
  20.  
  21. mysql> show databases;
    +---------------------+
    | Database            |
    +---------------------+
    | information_schema  |
    | mysql               |
    | performance_schema  |
    | db_test |
    +---------------------+
    4 rows in set (0.00 sec)
    mysql> select user,host from mysql.user;
    +---------------+-----------+
    | user          | host      |
    +---------------+-----------+
    | user1         | %         |
    | root          | 127.0.0.1 |
    | root          | localhost |
    +---------------+-----------+
    10 rows in set (0.00 sec)
  22.  
  23. mysql> exit
    [root@db130 tmp]# cat xtrabackup_slave_info
    CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000019', MASTER_LOG_POS=197442064;
    mysqlbinlog --start-position=197442064
  24.  
  25. [root@db130 tmp]# mysqlbinlog --start-position=197442064 mysql-bin.000019 >19.binlog
    mysqlbinlog: unknown variable 'default-character-set=utf8mb4'
    [root@db130 tmp]#
    [root@db130 tmp]# mysqlbinlog --no-defaults --start-position=197442064  mysql-bin.000019 >19.binlog  
    # 导入差异化数据
    [mysql@db130 ~]$ mysql.login < /data/mysql/19.binlog &
    [1] 18273
    [mysql@db130 ~]$ Warning: Using a password on the command line interface can be insecure.
  26.  
  27. 至此,一个全备份恢复完毕。
    本人在测试环境中遇到的一个小坑:因为本地虚拟机的内存小,导致恢复数据时,数据库实例挂掉了。关闭虚拟机,调高内存,就可以解决掉。

percona-xtrabackup快速安装及其简单使用的更多相关文章

  1. docker 及 docker-compose 的快速安装和简单使用

    本篇将使用 DaoCloud 源在 Ubuntu 上简单快速安装 docker 及 docker-compose 并添加了通过 Dockerfile 及 docker-compose.yml 使用 n ...

  2. Alibaba Java诊断工具Arthas之快速安装和简单使用

    Alibaba Java诊断工具Arthas简单介绍 : 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception ...

  3. CentOS 6.5下Percona Xtrabackup的安装错误解决方案

    1.下载最新版的Xtracbackup 2.安装 yum install perl-DBIyum install perl-DBD-MySQLyum install perl-Time-HiResyu ...

  4. Percona XtraBackup 安装介绍篇

    XtraBackup介绍 XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot Backup的功能,它支持在线热备份(备份时不影响数据读写) ...

  5. Percona xtrabackup

    关于percona xtrabackup     percona xtrabackup是世界上唯一开源的.免费的MySQL热备份软件,可以为InnoDB存储引擎和XtraDB存储引擎进行不间断的备份, ...

  6. Percona XtraBackup 核心文档

    1. 介绍 1.1 MySQL 备份工具特性对比 Features Percona XtraBackup MySQL Enterprise backup License GPL Proprietary ...

  7. Docker Compose + Traefik v2 快速安装, 自动申请SSL证书 http转https 初次尝试

    前言 昨晚闲得无聊睡不着觉,拿起服务器尝试部署了一下Docker + Traefik v2.1.6 ,以下是一些配置的总结,初次接触,大佬勿喷. 我的系统环境是 Ubuntu 18.04.3 LTS ...

  8. CocoaPods 的简单快速安装方法

    CocoaPods 的简单快速安装方法(Setting up CocoaPods master repo 卡着不动,是因为淘宝镜像已经不能用了. 一.git clone方法安装cocoapods 镜像 ...

  9. Percona XtraBackup 8.0, 安装与测试

    Percona XtraBackup 8.0 是Percona XtraBackup新推出了一个针对MySQL8.0的版本,主要是MySQL8.0在Redo 和 数据库字典方面有了新的改进. Xtra ...

随机推荐

  1. Github 快速建库上传本地代码

    1 github.com网页端先建好一个空库 2 本地对这个库进行 git clone 3 向本地库中添加已完成文件 4 运行如下命令 git add . (注:别忘记后面的.,此操作是把Test文件 ...

  2. Linux使用wget、安装Python

    原文:https://blog.csdn.net/ghost_chou/article/details/81905302 1.指定需要安装的目录或创建并访问到该选择的目录下. mkdir /data/ ...

  3. token登录

    ①定义 Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再 ...

  4. 新浪短连接API免登陆免认证实例

    string source = "source=2849184197"; // APP Key,这个可以根据自己需要去网上搜索 string url_long = $"u ...

  5. rocketmq4.x快速入门指南

    以下采用的是apache rocketmq 4.2.0版本 相关文档如下 快速体验: http://blog.seoui.com/2018/07/24/rocketmqinstall/ rocketm ...

  6. Redis笔记-集群搭建

    Redis单机版搭建上一篇已经基本介绍了,下面讨论Redis集群搭建方案和示例. 1.关于Redis常用的集群方案(三种): a.一主多从,如一个Master.两个Slave b.薪火相传,即集群中的 ...

  7. extjs 中比较常见且好用的监听事件

    ComboBox listeners:{ expand:function(){ //此函数是,点击下拉框展开的时候事件 }, select:function(com, record, index){ ...

  8. HP LasterJet 3050驱动安装技巧,面向win7,8,8.1,10

    最近上咸鱼淘二手打印机,看中了这款打印机,HP官网一查发现还是有新驱动的,比较激动就下单买了,200元自提也不贵,打印效果勉强凑合,打印图片有不太明显的白线,不知是何原因····· 买来插上电脑,自动 ...

  9. robotframework上的字体放大和缩小是ctr++和ctl--

  10. 类 Calendar

    简介 Java.util.Calendar是日历类,在Date后出现,替换掉了许多Date的方法.该类将所有可能用到的时间信息封装为静态成员变量,方便获取.日历类就是方便获取各个时间属性的.注意Cal ...