如何使用innobackupex恢复mysql数据库

发布时间:2021-09-27 17:43 来源:亿速云 阅读:0 作者:chen 栏目: Mysql 欢迎投稿:712375056

本篇内容主要讲解“如何使用innobackupex恢复数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用innobackupex恢复mysql数据库”吧!

使用innobackupex备份好数据库后,参考:http://blog.itpub.net/28536251/viewspace-2141029/,如果要恢复,也很简单。
假定当前mysql数据库无法访问,在另外一台机器上面有一份全量备份2017-06-20_16-33-30和增量备份2017-06-20_16-48-49。


1、获取备份文件
[root@my1 ~]# mkdir /var/lib/mysql/bakup
[root@my1 ~]# chown mysql:mysql /var/lib/mysql/bakup
[root@my1 ~]# scp -r root@192.168.254.151:/var/lib/mysql/backup/innobackupex/2017-06-20* /var/lib/mysql/bakup
[root@my1 ~]# ll -rth /var/lib/mysql/bakup
total 8.0K
drwxr-x--- 7 root root 4.0K Jun 21 18:06 2017-06-20_16-33-30
drwxr-x--- 7 root root 4.0K Jun 21 18:06 2017-06-20_16-48-49


2、准备工作
安装备份恢复工具参考:http://blog.itpub.net/28536251/viewspace-2141029/
[root@my1 ~]# mkdir /var/lib/mysqlreco
[root@my1 ~]# chown mysql:mysql /var/lib/mysqlreco
[root@my1 ~]# grep datadir /etc/my.cnf
#datadir=/var/lib/mysql
datadir=/var/lib/mysqlreco
[root@my1 ~]# /etc/init.d/mysql.server  status
MySQL is not running                                       [FAILED]
[root@my1 ~]# innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only /var/lib/mysql/bakup/2017-06-20_16-33-30/
......
170621 18:11:53 completed OK!

参数:
  ● --apply-log:从指定的选项文件中读取配置信息并应用日志等,这就代表要做的是对备份集恢复的准备工作,若要做恢复,则本参数必须指定。
  ● --redo-only:如果进行准备工作的备份集操作完成后,还有其他增量备份集待处理,那么就必须指定本参数。如果没有增量备份,那么本参数就无需指定了。
  ● 恢复时不需要指定用户名和密码参数。


应用增量备份,这次要操作的备份集就是最后一份,不需要再指定--redo-only参数了:
[root@my1 ~]# innobackupex --defaults-file=/etc/my.cnf --apply-log /var/lib/mysql/bakup/2017-06-20_16-33-30/ --incremental-dir=/var/lib/mysql/bakup/2017-06-20_16-48-49/
......
170621 18:16:14 completed OK!

参数:
  ● --incremental-dir:指定增量备份集路径。


3、执行恢复
[root@my1 ~]# innobackupex --defaults-file=/etc/my.cnf --copy-back /var/lib/mysql/bakup/2017-06-20_16-33-30/
......
170621 18:20:35 completed OK!

参数:
  ● --copy-back:从备份路径中,将文件复制回初始化选项指定的路径下。


4、启动验证
[root@my1 ~]# chown -R mysql:mysql /var/lib/mysqlreco
[root@my1 ~]# /etc/init.d/mysql.server start
Starting MySQL........                                     [  OK  ]

[root@my1 ~]# mysql -uroot -p123456 -e "select * from test.test4"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------+
| v1   |
+------+
| aa   |
| bb   |
+------+

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。