通过innobackupex实现对MySQL的完整备份与还原
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过innobackupex实现对MySQL的完整备份与还原相关的知识,希望对你有一定的参考价值。
备份
新建一个用于存放备份的目录
mkdir /backup
执行以下命令:
innobackupex --password=test /backup/
执行完后你会看到“completed OK!”的字样。
备注:
test是我的mysql的root用户的密码。
完整的命令应该是这样的:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=test /backup/
因为我使用的配置文件是默认的/etc/my.cnf,而且我是直接使用MySQL的root用户备份的,所以我省略了--defaults-file参数和--user参数。
执行命令前请先检查MySQL的配置文件,查看[mysqld]下是否指定了datadir,如果没有请自行添加,否则执行命令后会报错。
默认情况下,系统会自动在备份目录下新建一个以当前时间命名的目录(格式:yyyy-mm-dd_HH-MM-SS),如果你希望自定义目录的名称,就请在命令的末尾加上--no-timesmtap参数,加上这个参数后,系统就不会自动新建目录了,所以我们要事先在备份目录下新建一个目录用来存放备份,比如/backup/full。
还原
为了看到实验效果,读者可以对数据库进行增删改,然后再还原。
停止MySQL服务
service mysqld stop
清空MySQL的数据目录
rm -rf /mysql/*
备注:在生产环境中,如果有足够的空间,建议采用重命名的方式进行备份。
回滚日志
innobackupex --apply-log /backup/2016-09-20_12-33-47/
备注:2016-09-20_12-33-47是我之前备份的目录,请读者根据自己的实际情况进行修改。
还原
innobackupex --copy-back /backup/2016-09-20_12-33-47/
执行完后你会看到“completed OK!”的字样。
修改数据目录的属主和属组
chown -R mysql.mysql /mysql/
启动MySQL服务
service mysqld start
此时登录MySQL,可以看到已经恢复到我们备份前的样子了。
以上是关于通过innobackupex实现对MySQL的完整备份与还原的主要内容,如果未能解决你的问题,请参考以下文章
mysql之 innobackupex备份+binlog日志的完全恢复(命令行执行模式)
Mysql1.5(binlog增量备份与恢复,innobackupex)