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