书上摘抄 ---深入浅出mysql 448页

 grant reload on *.* to 'backup'@'localhost' identified by '123456';

grant reload,lock tables on *.* to 'backup'@'localhost' identified by '123456';

grant reload,lock tables,replication client on *.* to 'backup'@'localhost' identified by '123456';

grant reload,lock tables,replication client,create tablespace on *.* to 'backup'@'localhost' identified by '123456';

grant reload,lock tables,replication client,create tablespace,super on *.* to 'backup'@'localhost' identified by '123456';

1.grant reload,lock tables,replication client,create tablespace,super on *.* to 'backup'@'%';

2.增量备份

在mysql中进行增量备份需要时,首先需要进行一次全量备份,之后的增量备份在上一次的增量备份

创建基础备份 base

innobackupex --user=backup --password='123456' --socket=/tmp/mysql.sock --defaults-file=/tmp/my.cnf /data/backup/hotbackup/base --no-timestamp

创建增量备份

innobackupex --user=backup --password='123456' --socket=/tmp/mysql.sock --defaults-file=/tmp/my.cnf  --incremental  /data/backup/hotbackup/incremental_one --incremental-basedir=/data/backup/hotbackup/base --no-timestamp  --parallel=2

再次创建增量备份

innobackupex --user=backup --password='123456' --socket=/tmp/mysql.sock --defaults-file=/tmp/my.cnf   --incremental /data/backup/hotbackup/incremental_two --incremental-basedir=/data/backup/hotbackup/increament_one --no-timestamp  --parallel=2

3.增量备份的恢复

恢复基础备份(全备)

恢复增量备份到基础备份(开始恢复的增量备份要加--redo-only 参数,到最后一次增量备份去掉--redo-only参数)

--redo-only的意思是之应用xtrabackup日志中已经提交的事务数据,不回滚还未提交的数据

innobackupex --apply-log --redo-only --use-memory=2g  /data/backup/hotbackup/base

将增量备份increament_one应用到基础备份base:

innobackupex --apply-log --redo-only --use-memory=2g  /data/backup/hotbackup/base  --incremental-basedir=/data/backup/hotbackup/increament_one

将增量备份increament_two应用到基础备份base:

innobackupex --apply-log  --use-memory=2g  /data/backup/hotbackup/base  --incremental-basedir=/data/backup/hotbackup/increament_two

将所有合在一起的基础备份整体进行一次apply操作,回滚未提交的数据

innobackupex --apply-log --use-memory=2g  /data/backup/hotbackup/base

将恢复完的备份复制到数据文件目录中,赋权,然后启动mysql数据库

mysqldmin -s /tm/mysql.sock shutdown

mv /home/mysql_test/mysqlhone/data /home/mysql_test/mysqlhome/_data_back

mkdir /home/mysql_test/mysqlhome/data

innodbackupex --defaults-file=/tmp/my.cnf --copy-back --rsync /data/backup/hotbackup/full

chown -R mysql.mysql /home/mysql_test/mysqlhome/data

启动数据库

*********************************************************************************************************************

操作实录:

问题:貌似只要是增量备份,一定要加--no-timestamp,否则会报错的

grant reload,lock tables,replication client,create tablespace,super on *.* to 'backup'@'localhostidentified by '123456';

***********************************************************

全量备份 + --no-timestamp

1.[root@test]#innobackupex --user=root /root/backup --no-timestamp  (加上--no-timestamp参数的时候,backup目录不能存在,否则会报innobackupex: Error: Failed to create backup directory /root/backup: File exists at /usr/bin/innobackupex line 3808.)

增量备份1

innobackupex --user=root  --incremental  /root/backup/incremental_one --incremental-basedir=/root/backup  --no-timestamp

增量备份2

innobackupex --user=root  --incremental  /root/backup/incremental_two --incremental-basedir=/root/backup/incremental_one  --no-timestamp

************************************************************************************************************************

全量备份 不加--no-timestamp

2.[root@test]#innobackupex --user=root /root/backup  (不加--no-timestamp的时候,backup目录一定要存在,要不然会报innobackupex: Error: Failed to create backup directory /root/backup/2014-05-22_02-07-14: No such file or directory at /usr/bin/innobackupex line 3808.)

[root@test]# ls -al /root/backup/
total 12
drwxr-xr-x. 3 root root 4096 May 22 02:07 .
dr-xr-x---. 6 root root 4096 May 22 02:07 ..
drwxr-xr-x. 6 root root 4096 May 22 02:07 2014-05-22_17-52-53
增量备份

增量备份1

innobackupex --user=root  --incremental  /root/backup/incremental_one --incremental-basedir=/root/backup/2014-05-22_17-52-53  --no-timestamp (这个参数一定要加,要不然无法备份成功)--parallel=2

增量备份2

innobackupex --user=root    /root/backup/incremental_two --incremental-basedir=/root/backup/increament_one --no-timestamp  --parallel=2

增量备份的恢复:

恢复基础备份(全备)

恢复增量备份到基础备份(开始恢复的增量备份要加--redo-only 参数,到最后一次增量备份去掉--redo-only参数

--redo-only的意思是之应用xtrabackup日志中已经提交的事务数据,不回滚还未提交的数据

innobackupex --apply-log --redo-only  /root/backup/2014-05-22_17-52-53

将增量备份increament_one应用到基础备份base:

innobackupex --apply-log --redo-only   /root/backup/2014-05-22_17-52-53  --incremental-basedir=/root/backup/increament_one

将增量备份increament_two应用到基础备份base:

innobackupex --apply-log     /root/backup/2014-05-22_17-52-53 --incremental-basedir=/root/backup/increament_two

将所有合在一起的基础备份整体进行一次apply操作,回滚未提交的数据

innobackupex --apply-log /root/backup/2014-05-22_17-52-53

将恢复完的备份复制到数据文件目录中,赋权,然后启动mysql数据库

/usr/local/mysql/bin/mysqladmin shutdown  关闭数据库

mv /var/lib/mysql/ /var/lib/mysql_bak           把原数据库目录重命名

mkdir /var/lib/mysql                                    新建原数据库目录

innodbackupex --copy-back --rsync /root/backup/2014-05-22_17-52-53

chown -R  mysql.mysql /var/lib/mysql

启动数据库

最新文章

  1. Yeoman 学习笔记
  2. C# 窗体位置 Show和ShowDialog(转)
  3. C# base64编码的文本与图片互转
  4. Linux主流發行版本介紹
  5. ts tp 高清播放软件 Elecard MPEG Player 6.0.130827
  6. myBatis抛出异常Result Maps collection already contains value ...
  7. Eclipse 下如何引用另一个项目的资源文件
  8. POJ2923--Relocation(01背包+状压dp)
  9. Oracle 11g随Redhat 5系统自动启动与关闭的设置方法
  10. LeetCode - 204. Count Primes - 埃拉托斯特尼筛法 95.12% - (C++) - Sieve of Eratosthenes
  11. android:configChanges 屏幕横竖屏切换
  12. BZOJ 2631: tree( LCT )
  13. IOC 在Mvc中的使用
  14. ES 6 : 字符串的扩展
  15. KICKSTART无人值守安装
  16. Unity3D Button组管理(给按钮的onclick事件“传递参数”)
  17. pytesseract在识别只有一个数字的图片时识别不出来
  18. orm介绍
  19. nginx 多级反向代理获取客户端真实IP
  20. lambda表达式,map函数

热门文章

  1. JWT-配置与使用
  2. .Net Core Excel导入导出神器Npoi.Mapper
  3. PDF格式分析
  4. 磁盘inode节点被占满的解决方法
  5. windows宿主机访问ubuntu虚拟机中的docker服务
  6. Java8 - Stream流:让你的集合变得更简单!
  7. python之代码重构
  8. Asp.net Core使用Quartz.net
  9. Winform 去掉 最大化 最小化 关闭按钮(不是关闭按钮变灰)终极解决办法
  10. 现代JavaScript—ES6+中的Imports,Exports,Let,Const和Promise