• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL Xtrabackup备份跟恢复

mysql 搞代码 7年前 (2018-06-04) 176次浏览 已收录 0个评论

mysql Xtrabackup备份和恢复
   Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。Xtrabackup有两个主要的工具:xtrabackup、innobackupex,其中xtrabackup只能备份InnoDB和XtraDB两种数据表,innobackupex则封装了xtrabackup,同时可以备份MyISAM数据表。

1.安装mysql http://instance.iteye.com/blog/1454027

2.安装Xtrabackup ,下载Xtrabackup

  配置源
    #vi /etc/yum.repos.d/percona.repo
   

 [percona] name = CentOS $releasever - Percona baseurl=http://repo.percona.com/centos/$releasever/os/$basearch/ enabled = 1 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-percona gpgcheck = 1     

欢迎大家阅读《MySQL Xtrabackup备份跟恢复》,跪求各位点评,by 搞代码

   添加key

   #cd  /etc/pki/rpm-gpg

   #wget http://www.percona.com/downloads/RPM-GPG-KEY-percona

   安装Xtrabackup

   yum install xtrabackup

 
备份及恢复
 
一. 整库备份及恢复

①备份

#innobackupex-1.5.1 --user=root --password=1234 --defaults-file=/etc/my.cnf   /var/backups

②恢复

a. 停止 MySQL 服务:# /etc/init.d/mysqld stop 
b. #innobackupex-1.5.1 --apply-log --defaults-file=/etc/my.cnf  /var/backups/2012-03-20_19-30-04    # innobackupex-1.5.1 --copy-back --defaults-file=/etc/my.cnf /var/backups/2012-03-20_19-30-04

   使用cd或者ls 命令看看你的数据库目录下是不是有文件了?
   修改数据库文件权限,否则无法启动。(这步我是cd到原数据库目录下进行的)
   #chown -R mysql:mysql *
   重启数据库,看恢复是否成功。

二.全量备份及恢复

   使用xtrabackup,仅限InnoDB和xtradb表,且注意mysql配置文件my.cnf中“default_table_type = InnoDB”否则不成功

①备份
   

#xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/var/backups/base/ 

②恢复
    执行两次:
   

#xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/var/backups/base  #xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/var/backups/base 

    因为第二次prepare会帮助我们生成redo log文件,从而加快MySQL数据库启动的速度。
  
    将数据库停掉,删除数据库下的ib*(ib开头的所有)文件。将/var/backups/base目录下的ib*文件拷贝到数据库目录。

    #chown mysql:mysql ib*
   重启数据库,看恢复是否成功。

三.增量备份及恢复

    xtrabackup做增量仅限InnoDB和xtradb表,且注意mysql配置文件my.cnf中“default_table_type= InnoDB”否则不成功
  
    做增量前当然要先进行全量备份,在全量的基础上来进行增量

    首先进行全量备份

   

# xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/var/backups/base/

  
    在全量备份的基础上进行增量
   
   

# xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/var/backups/1/ -- incremental-basedir=/var/backups/base 

  
    xtrabackup –defaults-file=配置文件 –target-dir=全量备份存储目录 –incremental-basedir=增量存储目录 –backup

    注:/var/backups/1/是每次都需修改的。比如第二次增量就改成/var/backups/2

    增量恢复。(步骤同全量恢复,只是在执行恢复命令的时候中间多一步)
   
    

# xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/var/backups/base  # xtrabackup --target-dir=/backups/base --prepare --incremental-dir=/var/backups/1  # xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/var/backups/base 

     将数据库停掉,删除数据库下的ib*文件。将/var/backups/base目录下的ib*文件拷贝到数据库目录。

    #chown mysql:mysql ib*
   重启数据库,看恢复是否成功。

注:备份前先登录数据库,打开一个表看看记录条数,然后进行备份,然后再对表最终的记录进行修改,然后在备份,再测试。

   
  
  


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL Xtrabackup备份跟恢复

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址