xtrabackup

http://database.51cto.com/art/201108/283254.htm

 

------- 备份 --------

 

【完整备份】:

         innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --database=test /mysqlbackup/
                这里指定的数据库只对MyISAM表和InnoDB表的表结构有效, 所有数据库中的InnoDB数据都进行了备份,不是只备份指定的数据库,恢复时也一样

【完整备份并打包压缩】:

         innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --database=test --stream=tar /mysqlbackup/ | gzip /mysqlbackup/dbbackup20110809.tar.gz

 

【增量备份】:

 

      innobackupex --user=root --password=MySQLPASSWORD --database=test --incremental --incremental-basedir=/mysqlbackup/2011-08-09_14-50-20/ /mysqlbackup/trn/ 

       其中,--incremental指明是增量备份,--incremental-basedir指定上次完整备份或者增量备份文件的位置。这里的增量备份其实只针对的是InnoDB,对于MyISAM来说,还是完整备份.

 

 

 

---------恢复-----------

【完整备份恢复】:

先解包,tar –izxvf dbbackup20110809.tar,这里必须使用-i参数

停止mysql数据库并删除欲恢复的数据库文件夹,

         service mysql stop  

         rm /var/lib/mysql/test –rf

 

将备份文件中的日志应用到备份文件中的数据文件上。

        innobackupex --user=root --password=MySQLPASSWORD --apply-log /mysqlbackup/full/2011-08-09_14-50-20/

                这里的--apply-log指明是将日志应用到数据文件上,完成之后将备份文件中的数据恢复到数据库中:

        innobackupex --user=root --password=MySQLPASSWORD --copy-back /mysqlbackup/full/2011-08-09_14-50-20/  

                 这里的—copy-back指明是进行数据恢复。

 

数据恢复完成之后,需要修改相关文件的权限mysql数据库才能正常启动

    chown mysql:mysql /var/lib/mysql/ib*

    chown mysql:mysql /var/lib/mysql/test

    service mysql start

 

【增量备份恢复】:

        增量备份恢复时,是先将所有的增量备份挨个应用到完整备份的数据文件中,然后再将完整备份中的数据恢复到数据库中。

 

应用第一个增量备份

        innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --apply-log /mysqlbackup/full/2011-08-09_14-50-20/ --incremental-dir=/mysqlbackup/trn/2011-08-09_15-12-43/  

 

应用第二个增量备份

        innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --apply-log /mysqlbackup/full/2011-08-09_14-50-20/ --incremental-dir=/mysqlbackup/trn/2011-08-05_15-15-47/  

 

将完整备份中的数据恢复到数据库中。

        innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --copy-back /mysqlbackup/full/2011-08-05_14-50-20/  

                其中,--incremental-dir指定要恢复的增量备份的位置。

 

 

----------------------

数据库 用户权限 必须有 RELOAD , SUPER , REPLICATION CLIENT

 

GRANT RELOAD , SUPER , REPLICATION CLIENT ON * . * TO 'girl'@'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0

你可能感兴趣的:(backup)