iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql系列之6--------使用第三方工具-percona来备份mysql和恢复
  • 554
分享到

mysql系列之6--------使用第三方工具-percona来备份mysql和恢复

2024-04-02 19:04:59 554人浏览 泡泡鱼
摘要

使用第三方工具来备份Mysql-----percona一、前期准备工作:   1、安装依赖包:yum  -y  install  perl-Digest-M

使用第三方工具来备份Mysql-----percona


一、前期准备工作:

   1、安装依赖包:yum  -y  install  perl-Digest-MD5   perl-DBD-mysql

        rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm

   2、安装主包:    percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm

      percona是一款在线热备工具

   3、包含两个组件:

           /usr/bin/xtrabackup     :支持innodb和xtraDB(增量备份)

          /usr/bin/innobackupex   :支持innodb和myisam(只支持全备,不支持增量)

  4、innobackupex 包含的一些选项

      --user                  用户名     

      --passWord          密码  

      --databases         库名

      --no-timestamp          不使用系统日期做备份目录的子目录名

      --apply-log                 恢复日志

      --copy-back               恢复数据

二、完全备份和完全恢复

   1、完全备份

         innobackupex --user root --password 123456 --database="mysql db66 perfORMance sys"

         --no-timestamp   /allbak   //指定备份三个数据库,生成的备份文件目录不用系统时间做目录名

   2、恢复数据时,数据库目录为空,三个系统库必须备份进去

    首先恢复日志:innobackupex --user root --password 123456 --apply-log  /allbak

    删除数据库目录:   rm    -rf      /var/lib/mysql

    创建数据库目录:   mkdir /var/lib/mysql

    恢复数据:innobackupex --user root --password  123456  --copy-back  /allbak/

    赋予数据目录权限:chown -R mysql:mysql /var/lib/mysql

      重启服务,验证:systemctl restart mysqld


三、增量备份和增量恢复

 1、在增量备份之前先做一次完全备份。

    innobackupex --user root --password 123456

   --databases="performance_schema sys mysql db666"

    --no-timestamp  /onebak

 2、第一次增量备份    

    innobackupex --user root --password 123456     //指定用户名密码

    --databases="performance_schema sys mysql db666" //指定需要备份的数据库

    --incremental /new1                //指定增量备份的路径

    --incremental-basedir=/onebak   //指定以哪个备份来做为增量备份的参考

    --no-timestamp

 3、第二次增量备份:

   innobackupex --user root --password 123456 

    --databases="performance_schema sys mysql db666"

    --incremental /new2     //第二次增量备份的路径

    --incremental-basedir=/new1   //以上次增量备份做为参考来做增量备份

    --no-timestamp

 4、增量恢复的文件目录说明

  xtrabackup_checkpoints    xtrabackup_logfile         //这两个文件记录修改的lsn号

 5、恢复步骤

  A、删除数据目录下的文件:rm -rf  /var/lib/mysql/*

  B、恢复日志---完全备份的日志

     innobackupex --user root --password 123456

    --databases="performance_schema sys mysql db666"

    --apply-log --redo-only   //恢复日志,并合并日志

    /onebak --no-timestamp

 C、恢复第一次增量的备份(只需要恢复日志,日志合并即可)

     innobackupex --user root --password 123456

    --databases="performance_schema sys mysql db666"

    --apply-log --redo-only /onebak  //源日志路径

    --incremental-dir=/new1 --no-timestamp   //需合并的日志文件的路径

 D、恢复第二次增量的备份

  innobackupex --user root --password 123456

   --databases="performance_schema sys mysql db666"

   --apply-log --redo-only /onebak   //源日志文件的路径

  --incremental-dir=/new2 --no-timestamp   //第二次增量备份合并的日志

 E、恢复数据,只需还原全备份里面的,因为增量备份的内容已经合并到全备里面

    innobackupex --user root --password 123456  --copy-back  /onebak

 F、给数据目录给权限,重启服务验证

    chown    -R     mysql:mysql    /var/lib/mysql

    systemctl     restart      mysqld


四、恢复完全备份数据中的单张表

 1、export  //导出表信息     import //导入表空间    

       删除表空间:alter  table 表    discard  tablespace;

 2、备份单个数据库:

       innobackupex --user root --password 123456 

       --databases="mydb" --no-timestamp /mydb  //只备份一个数据库

 3、删除表,创建表(表字段必须要和以前的一样,模拟表丢失

    drop table t1;       create table t1(id int);

4、导出表信息:用到的参数是--export

  innobackupex --user root --password 123456 --databases="db66" --apply-log --export /db66

5、删除表空间:在mysql命令行里操作

     alter table db66.t1 discard tablespace;

6、把备份目录下导出的表信息拷贝到数据库目录下,并给权限

   cp /db66/db66/t1.{cfg,exp,ibd} /var/lib/mysql/db66/ 

   chown mysql /var/lib/mysql/db66/t1.*  

7、导入表空间

   alter table db66.t1 import tablespace;

8、验证:select * from db66.t1;




















             





































    































您可能感兴趣的文档:

--结束END--

本文标题: mysql系列之6--------使用第三方工具-percona来备份mysql和恢复

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis怎么用于高并发
    redis通过以下优化适用于高并发场景:1. 内存存储,消除磁盘i/o延迟;2. 针对高并发优化的数据结构;3. 主从复制提供冗余和可伸缩性;4. rdb和aof持久化机制确保数据安全;...
    99+
    2024-05-21
    redis 并发访问
  • redis版本号怎么查询
    查询 redis 版本号的方法有:直接使用 info 命令,返回服务器信息,其中包括版本号。在 linux 系统中,使用 redis-cli -v 命令查看版本号。查看配置文件 /etc...
    99+
    2024-05-21
    linux redis
  • redis怎么用分布锁
    如何使用 redis 实现分布式锁?获取锁:使用 setnx 设置唯一键为当前进程 id,若不存在则成功获取锁。设置过期时间:使用 expire 设置锁的过期时间,以防进程意外崩溃。执行...
    99+
    2024-05-21
    python redis 网络问题
  • redis incr后怎么获取值
    redis 中 incr 命令后如何获取值 开门见山:incr 命令执行后,可以通过 GET 命令获取自增后的值。 详细解答: incr 命令用于为指定键的值自增。执行 incr 命令后...
    99+
    2024-05-21
    redis
  • redis雪崩怎么解决
    redis雪崩解决方案 什么是Redis雪崩? Redis雪崩是指在高并发场景下,大量Redis键同时失效,导致瞬间访问量激增,压垮Redis服务器。 解决方案: 1. 互斥锁/分布式锁...
    99+
    2024-05-21
    redis 并发访问 键值对
  • redis怎么用单线程模型
    redis 单线程模型 Redis 是一个开源的内存数据库,它以其高性能和灵活性而闻名。一个独特的特性是它采用单线程模型。 单线程模型的优势 单线程模型的主要优势在于: 高吞吐量:由...
    99+
    2024-05-21
    redis
  • redis怎么启动和关闭
    redis启动和关闭指南 Redis是一个内存数据库,广泛用于缓存、消息传递和持久性存储等应用场景。本文将详细介绍如何启动和关闭Redis。 启动Redis 1. 确保安装Redis 在...
    99+
    2024-05-21
    redis 数据丢失
  • redis哨兵怎么重启
    以下是重启 redis 哨兵的步骤:停止哨兵进程:redis-sentinel stop删除哨兵 pid 文件:rm /var/run/redis-sentinel.pid启动哨兵进程:...
    99+
    2024-05-21
    redis
  • redis怎么和mysql同步
    redis 与 mysql 同步 如何将 Redis 与 MySQL 同步? 实现 Redis 与 MySQL 之间的同步,有以下几种方法: 1. 使用代理工具 Redis Senti...
    99+
    2024-05-21
    mysql redis
  • redis缓存失效怎么办
    redis 缓存失效解决方案 什么是 Redis 缓存失效? Redis 缓存失效是指缓存中存储的数据不再有效或过期。这会导致应用程序访问陈旧的数据,影响数据的一致性和可靠性。 Redi...
    99+
    2024-05-21
    redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作