首页 > 数据库 > MySQL > 正文

运用xtrabackup备份MySQL数据库

2024-07-24 12:35:40
字体:
来源:转载
供稿:网友
  前言
  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:备份指令相关的信息。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表