返回顶部
首页 > 资讯 > 数据库 >XtraBackup部分备份
  • 152
分享到

XtraBackup部分备份

2024-04-02 19:04:59 152人浏览 独家记忆
摘要

可以使用Xtrabackup工具仅仅对某几张表进行数据恢复。 实验场景:     端口3306的实例上有一张表t3,而端口3308的实例上没有。实验目的将端口3

可以使用Xtrabackup工具仅仅对某几张表进行数据恢复。

实验场景:

    端口3306的实例上有一张表t3,而端口3308的实例上没有。实验目的将端口3306的t3表恢复到端口3308的实例上。

步骤:

1、确保端口3306的实例的配置文件my.cnf中有设置如下参数:

     InnoDB_FAST_SHUTDOWN = 0     --此参数Mysql在关闭的时候,需要完成所有的full purge和merge insert buffer操作.
     InnoDB_File_Per_Table = ON   --此参数修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间.


2、备份

a)  innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --passWord=root --Socket=/usr/local/mysql/mysql.sock --include='lxm.t3'  --export /tmp/backup/

命令执行结束后,查看备份文件

[root@single1 lxm]# pwd
/tmp/backup/2016-08-30_16-34-50/lxm
[root@single1 lxm]# ls -l
total 108
-rw-r-----. 1 root root 10684 Aug 30 16:34 t3.frm
-rw-r-----. 1 root root 98304 Aug 30 16:34 t3.ibd

b) 备份完成之后应用日志使备份保持一致性

innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=root --socket=/usr/local/mysql/mysql.sock --apply-log --export /tmp/backup/2016-08-30_16-34-50/

命令执行结束后,查看备份文件

[root@single1 lxm]# pwd
/tmp/backup/2016-08-30_16-34-50/lxm
[root@single1 lxm]# ls -l
total 128
-rw-r--r--. 1 root root  3378 Aug 30 16:36 t3.cfg
-rw-r-----. 1 root root 16384 Aug 30 16:36 t3.exp
-rw-r-----. 1 root root 10684 Aug 30 16:34 t3.frm
-rw-r-----. 1 root root 98304 Aug 30 16:34 t3.ibd

可以看出多了两个文件:t3.cfg和t3.exp。exp文件适用于percona server,cfg适用于mariadb和mysql。mariadb 10.0可以直接通过ibd和frm文件import。mysql 5.6之后可以不使用cfg来进行import,cfg如果存在会被用来做表结构的验证。


3、在目标实例上创建一个和源实例中的t3表一模一样的表

源实例查看t3表的表结构创建语句:
mysql -S /usr/local/mysql/mysql.sock -P 3306 -uroot -p
mysql> show create table t3\G;        
*************************** 1. row ***************************
       Table: t3
Create Table: CREATE TABLE `t3` (
  `Host` char(60) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
  。。。。。。。。。省略。。。。。。。。。。。。。
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.14 sec)

目标实例创建表t3:
mysql -S /usr/local/mysql3308/mysql.sock -P 3308 -uroot -p
mysql> use lxm;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> CREATE TABLE `t3` (
    ->   `Host` char(60) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
    ->   `User` char(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
    ->   `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
    ->   。。。。。。。。。。省略。。。。。。。。。。。。。
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.05 sec)


4、目标实例 discard 表空间

在 discard 表空间之前,mysql3308的 t3 表数据文件如下:

[root@single1 lxm]# ls -l
total 112
-rw-rw----. 1 mysql mysql    61 Aug 30 17:09 db.opt
-rw-rw----. 1 mysql mysql 10684 Aug 30 17:09 t3.frm
-rw-rw----. 1 mysql mysql 98304 Aug 30 17:09 t3.ibd


discard表空间:

mysql -S /usr/local/mysql3308/mysql.sock -P 3308 -uroot -p

mysql> ALTER TABLE t3 DISCARD TABLESPACE;
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
+---------------+
| Tables_in_lxm |
+---------------+
| t3            |
+---------------+
1 row in set (0.00 sec)


在 discard 表空间之后,mysql3308的 t3 表数据文件如下:
[root@single1 lxm]# ls -l
total 16
-rw-rw----. 1 mysql mysql    61 Aug 30 17:09 db.opt
-rw-rw----. 1 mysql mysql 10684 Aug 30 17:09 t3.frm


5、将备份文件中的 t3.idb 和 t3.cfg 文件拷贝到目标实例的数据文件路径中:

        cp -r /tmp/backup/2016-08-30_16-34-50/lxm/t3.cfg  /usr/local/mysql3308/data/lxm/
        cp -r /tmp/backup/2016-08-30_16-34-50/lxm/t3.ibd  /usr/local/mysql3308/data/lxm/

    修改 t3.idb 和 t3.cfg 文件的属组为mysql:

        chown mysql:mysql t3.cfg 

        chown mysql:mysql t3.ibd 


6、import表

mysql -S /usr/local/mysql3308/mysql.sock -P 3308 -uroot -p

mysql> ALTER TABLE t3 IMPORT TABLESPACE;
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
+---------------+
| Tables_in_lxm |
+---------------+
| t3            |
+---------------+
1 row in set (0.00 sec)

mysql> select count(1) from t3;
+----------+
| count(1) |
+----------+
|       14 |
+----------+
1 row in set (0.00 sec)


备注:有三种方式可以指定要备份的表。

1、--include:设置正则表达式的格式,匹配的就备份。该选项传递给xtrabackup --tables,对每个库中的每个表逐一匹配。

2、--table-file:在文件中指定要备份的表,然后通过这个选项传入文件。该选项传递给xtrabackup --tables-file,与--table选项不同,只有要备份的表的库才会被创建。

3、--database:指定数据库列表。:--databasees选项只会对非innodb引擎表和frm文件产生影响,对于innodb数据文件总是备份的。

您可能感兴趣的文档:

--结束END--

本文标题: XtraBackup部分备份

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

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

猜你喜欢
  • XtraBackup部分备份
    可以使用Xtrabackup工具仅仅对某几张表进行数据恢复。 实验场景:     端口3306的实例上有一张表t3,而端口3308的实例上没有。实验目的将端口3...
    99+
    2024-04-02
  • Xtrabackup备份
    介绍 Xtrabackup是一个开源的MySQL数据库备份工具,由Percona公司开发和维护。它可以备份InnoDB、XtraDB和MyISAM存储引擎的数据,并且可以在运行时进行备份,而不会影响数...
    99+
    2023-10-01
    mysql linux 数据库
  • MySQL5.7热备份-xtrabackup
    热备份1 xtrabackup下载 wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/tar...
    99+
    2024-04-02
  • Xtrabackup 备份恢复
    一、Xtrabackup 说明及安装一、Xtrabackup 说明及安装二、Xtrabackup 全备份及恢复三、Xtrabackup 全备和增量备份及恢复四、Xtrabackup 部分全备和增量及恢复一、...
    99+
    2024-04-02
  • xtrabackup备份工具
    xtrabackup备份工具  下载地址   https://www.percona.com/downloads/XtraBackup/LATEST/  Xtrabackup有...
    99+
    2024-04-02
  • mysql xtrabackup 备份恢复实现分享
    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具简介 Xtrabackup是由per...
    99+
    2024-04-02
  • Percona Xtrabackup 8.0备份MySQL8
    随着Percona XtraBackup 8.0的推出,Percona XtraBackup 2.4将继续支持MySQL和Percona Server 5.6和5.7数据库。由于MySQL 8.0在数据字典...
    99+
    2024-04-02
  • Xtrabackup备份数据库
    Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。   Xtr...
    99+
    2024-04-02
  • XtraBackup的增量备份
    实验场景: 两个mysql实例,一个端口为3306,一个端口为3307。 现在要在3306上做增量备份,并将备份恢复到3307上去。 备份: A) 0级备份 innobackup...
    99+
    2024-04-02
  • 使用XtraBackup备份MySQL
    一、使用每表单个表空间这样ibdata1文件不会过大。xtrabackup可以使用部分备份了,需要在一个表一个文件的状况下才能使用。1.在使用xtrabackup之前,我们需要查看我们当前mysql是否是使...
    99+
    2024-04-02
  • Percona Xtrabackup备份mysql (完整备份与增量备份)
    Percona Xtrabackup备份mysql (完整备份与增量备份)Xtrabackup简介Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB...
    99+
    2024-04-02
  • Xtrabackup备份mysql数据库
    Xtrabackup由percona提供percona Xtrabackup是一个自由、开源的完整的在线备份工具,支持mysql、perconna server、mariadb到官网https://www....
    99+
    2024-04-02
  • xtrabackup备份恢复测试
    测试准备 1、安装xtrabackup工具        以下测试安装xtrabackup备份恢复工具的二进制包,进行测...
    99+
    2024-04-02
  • xtrabackup 备份恢复测试
    远程备份: innobackupex --defaults-file=/usr/my.cnf --user=backup --host=127.0.0.1 --port=3306 --password=...
    99+
    2024-04-02
  • xtrabackup备份msyql数据库
     简介:Xtrabackup是由percona提供的mysql数据库备份工具,可以对Innodb数据库做热备特点:(1)备份过程快速、可靠(2)备份过程不会打断正在执行的事务(3)能够基于压缩等功...
    99+
    2024-04-02
  • mysql-物理备份-Percona xtrabackup
    xtrabackup是percona公司开发的一个用于mysql物理热备的备份工具。 软件安装后一共有4个可执行文件:      innobackupex:pe...
    99+
    2024-04-02
  • 使用Xtrabackup进行MySQL备份:
    使用Xtrabackup进行MySQL备份:一、安装1、简介Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库...
    99+
    2024-04-02
  • 如何使用mysqldump/xtrabackup备份
    Mariadb备份本文主要详细说明Mariadb如何使用mysqldump和Xtrabackup备份mysql数据库mysqldump实现如下功能:1、对hellodb数据库进行增删后还原hellodb数据...
    99+
    2024-04-02
  • 【MySQL】Xtrabackup备份工具使用
    简介: Xtrabackup是由percona提供的mysql数据库备份工具,支持在线热备份(备份时不影响数据读写).Xtrabackup有两个主要的工具:xtrabackup、innobackupex1...
    99+
    2024-04-02
  • xtrabackup介绍及备份原理
    1. Xtrabackup介绍xtrabackup就percona公司基于innodb公司的ibbackup(收费)实现的一个开源软件,完全覆盖了ibbackup的功能,而且完全免费,可谓是业界良心。xtr...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作