返回顶部
首页 > 资讯 > 数据库 >如何用Percona Xtrabackup恢复MySQL从库
  • 659
分享到

如何用Percona Xtrabackup恢复MySQL从库

2024-04-02 19:04:59 659人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关如何用Percona Xtrabackup恢复Mysql从库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 同样的,还是一台服

这篇文章将为大家详细讲解有关如何用Percona Xtrabackup恢复Mysql从库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

同样的,还是一台服务器上两个实例。3306端口的实例为主库,3307端口的实例为从库。

现在,手动将备库里的数据清空掉,模拟备库被破坏。

drop database test2;

采用Percona Xtrabackup来恢复从库。

Percona Xtrabackup是一款开源的备份工具,这个工具可以在Percona的官方网站上下载来进行安装。

恢复步骤如下:

1、对主库的数据进行完全备份,注意,这个是热备,不需要停库的

innobackupex --default-file=/usr/local/mysql/my.cnf  --user=root --passWord=root --Socket=/usr/local/mysql/mysql.sock /tmp/backup

如果屏幕输出的结尾有打印“completed Ok!”,则表示命令执行成功。

2、将主库生成的日志附加到备份中

innobackupex  --apply-log /tmp/backup/2016-08-30_09-56-23

同步骤1一样,如果屏幕输出的结尾有completed OK的字输出,表示命令执行成功。

3、查看主库生成的备份信息

[root@single1 2016-08-30_09-56-23]# ls -l
total 131108
-rw-r-----. 1 root root      418 Aug 30 09:56 backup-my.cnf
-rw-r-----. 1 root root 12582912 Aug 30 09:56 ibdata1
-rw-r-----. 1 root root 50331648 Aug 30 09:56 ib_logfile0
-rw-r-----. 1 root root 50331648 Aug 30 09:56 ib_logfile1
-rw-r-----. 1 root root 12582912 Aug 30 09:56 ibtmp1
drwxr-x---. 2 root root     4096 Aug 30 09:56 lxm
drwxr-x---. 2 root root     4096 Aug 30 09:56 mysql
drwxr-x---. 2 root root     4096 Aug 30 09:56 perfORMance_schema
drwxr-x---. 2 root root     4096 Aug 30 09:56 test
-rw-r-----. 1 root root       21 Aug 30 09:56 xtrabackup_binlog_info
-rw-r--r--. 1 root root       21 Aug 30 09:56 xtrabackup_binlog_pos_innodb
-rw-r-----. 1 root root      113 Aug 30 09:56 xtrabackup_checkpoints
-rw-r-----. 1 root root      504 Aug 30 09:56 xtrabackup_info
-rw-r-----. 1 root root  8388608 Aug 30 09:56 xtrabackup_logfile

注:

a) xtrabackup_binlog_info文件记录mysql服务器当前正在使用的二进制日志文件及至备份这一刻为止二进制日志事件的位置。

b) xtrabackup_binlog_pos_innodb 文件记录二进制日志文件及用于InnoDB或XtraDB表的二进制日志文件的当前position。

(xtrabackup_binlog_info文件和xtrabackup_binlog_pos_innodb 文件的区别:对于纯 InnoDB 操作,备份出来的数据中上述两个文件的内容是一致的。对于 InnoDB 和非事务存储引擎混合操作,xtrabackup_binlog_info 中所示的 position 应该会比 xtrabackup_pos_innodb 所示的数值大。此时应以 xtrabackup_binlog_info 为准;而后者和 apply-log 时 InnoDB recovery log 中显示的内容是一致的,只针对 InnoDB 这部分数据。)

c) xtrabackup_checkpoints文件用来描述备份类型,备份状态,LSN范围信息。

d) xtrabackup_info文件记录备份时所用xtrabackup命令的一些信息

e) backup-my.cnf文件为备份命令用到的配置选项信息;

4、恢复从库

停止从库服务,将从库中原有的数据清空。

  service mysql3307 stop;

  cd /usr/local/mysql3307

  mv data  data.bak

然后开始恢复:

   innobackupex --defaults-file=/usr/local/mysql3307/my.cnf --copy-back  --rsync /tmp/backup/2016-08-30_09-56-23

如果屏幕输出的结尾有打印“completed Ok!”,则表示命令执行成功。

5、修改从库数据文件的属性

   从库恢复成功后,可以在/usr/local/mysql3307目录下,看到一个data:

记得将这个恢复过来的data目录属组全部改回mysql,否则启动从库时会如下错误:

           chown  -R mysql:mysql data

6、查看备份中binary log的信息

[root@single1 2016-08-30_09-56-23]# cat xtrabackup_binlog_info
mysql-bin.000003        329

7、起从库,重新同步:

service mysql3307 start

mysql -S /usr/local/mysql3307/mysql.sock -P 3307 -uroot -p
mysql> change master to master_host='localhost', master_user='root', master_password='root', master_log_file='mysql-bin.000003', master_log_pos=329, master_port=3306;
Query OK, 0 rows affected, 2 warnings (0.02 sec)

#master_log_file参数和 master_log_pos参数的设置就是根据第6步得来的

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: localhost
                  Master_User: root
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 329
               Relay_Log_File: single1-relay-bin.000002
                Relay_Log_Pos: 283
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 329
              Relay_Log_Space: 458
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
                  Master_UUID: 9c534d95-6849-11e6-bae6-000c295ae8a5
             Master_Info_File: /usr/local/mysql3307/data/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
     Last_SQL_Error_Timestamp:
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0
1 row in set (0.00 sec)

ERROR:
No query specified

8、检验主库和从库是否一致。

关于如何用Percona Xtrabackup恢复MySQL从库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 如何用Percona Xtrabackup恢复MySQL从库

本文链接: https://lsjlt.com/news/62137.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何用Percona Xtrabackup恢复MySQL从库
    这篇文章将为大家详细讲解有关如何用Percona Xtrabackup恢复MySQL从库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 同样的,还是一台服...
    99+
    2024-04-02
  • 如何用Percona XtraBackup进行MySQL从库的单表备份和恢复
    环境说明: 主库:192.168.0.1 从库1:192.168.0.2 从库2:192.168.0.3 备份工具 : Percona xtrabackup version 2.4.8 based on M...
    99+
    2024-04-02
  • 基于percona xtrabackup的innobackupex如何实现基于时间点数据库恢复
    基于percona xtrabackup的innobackupex如何实现基于时间点数据库恢复,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望...
    99+
    2024-04-02
  • xtrabackup备份恢复MySQL数据库
    1. 全量备份恢复: 查看原表内容: MariaDB [(none)]> select * from testdb.students; +----+------------+------...
    99+
    2024-04-02
  • 使用XtraBackup恢复|备份 Mysql数据库 -- 数据恢复篇
                                 ...
    99+
    2024-04-02
  • Mysql利用percona-xtrabackup在线配置主从的方法
    这篇文章主要讲解了“Mysql利用percona-xtrabackup在线配置主从的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql利用perc...
    99+
    2024-04-02
  • 使用xtrabackup工具如何热备和恢复mysql
    下文主要给大家带来使用xtrabackup工具如何热备和恢复mysql,希望这些内容能够带给大家实际用处,这也是我编辑使用xtrabackup工具如何热备和恢复mysql这篇文章的主要目的。好了,废话不多说...
    99+
    2024-04-02
  • xtrabackup如何实现MySQL自动备份恢复
    这篇文章主要介绍了xtrabackup如何实现MySQL自动备份恢复,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. xtrabackup...
    99+
    2024-04-02
  • 如何进行MySQL中的xtrabackup备份恢复
    这篇文章给大家介绍如何进行MySQL中的xtrabackup备份恢复,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。    XtraBackup是Percona推出...
    99+
    2024-04-02
  • MySQL如何使用使用Xtrabackup进行备份和恢复
    目录1 备份1.1 全备1.2 增备2 备份恢复2.1 准备数据2.2 进行恢复3 目录结构4 备份脚本4.1 脚本4.2 配置文件5 恢复脚本5.1 脚本5.2 配置文件1 备份 进行备份前需要先创建备份用户,直接...
    99+
    2022-05-27
    MySQL Xtrabackup MySQL 备份和恢复
  • MySQL恢复:使用从库备份,主库binlog,从库中继日志恢复数据库
    小生博客:http://xsboke.blog.51cto.com -------谢谢您的参考,如有疑问,欢迎交流 环境说明: mysql主从复制,主库A宕机,将从...
    99+
    2024-04-02
  • MySQL数据库如何实现Percona全量增量备份与恢复
    本文主要给大家简单讲讲MySQL数据库如何实现Percona全量增量备份与恢复,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望MySQL数据库如何实现Perc...
    99+
    2024-04-02
  • xtrabackup全量、增量备份恢复mysql数据库
    一. 全量备份恢复: 查看原表内容: MariaDB [(none)]> select * from testdb.students; +----+------------+------...
    99+
    2024-04-02
  • 基于percona xtrabackup 2.4.14的增量备份恢复还原mysql 5.6是怎么样的
    这期内容当中小编将会给大家带来有关基于percona xtrabackup 2.4.14的增量备份恢复还原mysql 5.6是怎么样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以...
    99+
    2024-04-02
  • mysql中如何通过备份恢复搭建从库
    这篇文章主要介绍了mysql中如何通过备份恢复搭建从库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 MYSQ...
    99+
    2024-04-02
  • xtrabackup备份以及恢复(MySQL适用于8.0)
    一、安装xtrabackup 官网:Percona XtraBackup for MySQL - Percona 上传至服务器并安装: rpm -ivh percona-xtrabackup-80-8.0.32-26.1.el7.x86_6...
    99+
    2023-09-06
    mysql 数据库
  • MySQL如何恢复数据库
    MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。详细介绍:1、物理备份恢复,物理备份是指将整个数据库的文件系统备份到另一个位置,步骤为先停止MySQL服务,将备份文件复制回数据库...
    99+
    2023-10-22
    mysql 数据库
  • mysql数据库如何恢复
    通过以下步骤恢复 mysql 数据库:确定要恢复的备份。停止 mysql 服务。使用 mysqldump 从备份文件恢复数据库。导入恢复后的数据库。刷新权限。启动 mysql 服务。验证...
    99+
    2024-04-14
    mysql
  • 如何让xtrabackup恢复速度提升20倍?
    简介  Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎数据库进行非阻塞的备份,其具备以下一些优点:  1)备份速度快,物理备份可靠  2)备...
    99+
    2024-04-02
  • 如何使用innobackupex恢复mysql数据库
    本篇内容主要讲解“如何使用innobackupex恢复mysql数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用innobackupex恢复mysq...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作