加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

运用xtrabackup备份MySQL数据库

发布时间:2022-06-30 22:14:19 所属栏目:MySql教程 来源:互联网
导读:前言 Xtrabackup提供了两种命令行工具: xtrabackup:专用于备份InnoDB和XtraDB引擎的数据; innobackupex:是一个perl脚本,在执行过程中会调用xtrabackup命令,这个命令即可以实现备份InnoDB,也可以备份Myisam引擎的对象。 xtrabackup是由percona提供的My
  前言
  Xtrabackup提供了两种命令行工具:
 
  xtrabackup:专用于备份InnoDB和XtraDB引擎的数据;
  innobackupex:是一个perl脚本,在执行过程中会调用xtrabackup命令,这个命令即可以实现备份InnoDB,也可以备份Myisam引擎的对象。
  xtrabackup是由percona提供的MySQL数据库备份工具,其备份速度快并且可靠;备份过程不会打断正在执行的事务;能够基于压缩等功能节约磁盘空间和流量;自动实现备份检验;还原速度快。
 
   xtrabackup完全备份+binlog增量备份
  1、创建备份目录
  [root@mysql test]# mkdir -p /opt/mysqlbackup/{full,inc}
  # full:全备存放的目录
  # inc:增量备份存放的目录
  2、创建备份用户
  [root@mysql test]# mysql -uroot -p123.com
  mysql> create user bakuser@'localhost' identified by '123.com';
  mysql> revoke all privileges,grant option from 'bakuser'@'localhost';
  mysql> grant reload,lock tables,replication client,process on *.* to bakuser@'localhost';
  mysql> flush privileges;
  3、完全备份
  [root@mysql test]# innobackupex --user=bakuser --password=123.com /opt/mysqlbackup/full/
  #当备份完成后将出现以下提示信息
  .............  #忽略部分信息
  200116 13:09:21 completed OK!
  上述执行相关解释如下:
 
  --user:指定连接数据库的用户名;
  --password:指定连接数据库的密码;
  --defaults-file:指定数据库的配置文件my.cnf,innobackupex要从其中获取datadir等信息,如果不指定,则会默认去搜索my.cnf这个文件,搜索顺序和mysql启动时的搜索顺序一样;
  --database:指定要备份的数据据库,这里指定的数据库只对myisam表有效,对于innodb数据来说都是全备(所有数据库中的innodb数据都进行了备份,不是只备份指定的数据库,恢复时也一样);
  /opt/mysqlbackup/full:是备份文件的存放位置。
  4、查看备份后的文件
 
  各个文件存放的内容如下:
 
  backup-my.cnf:备份命令用到的配置选项信息;
  ib_buffer_pool:buffer缓冲区相关的信息;
  xtrabackup_checkpoints:这个文件很重要,保存的是备份类型(如完全或增量)、备份状态(如是否已经为perpared状态(备份恢复前需要的状态)),和LSN(日志序列号)范围信息,每个innodb页(一般为16k大小)都会包含一个日志序列号,LSN时整个数据库系统同的系统版本号,每个页面相关的LSN能够表明此页面最近是如何发生改变的。
  xtrabackup_info:备份指令相关的信息。
运用xtrabackup备份MySQL数据库

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!