首页 > 代码库 > 通过innobackupex实现对MySQL的完整备份与还原
通过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的完整备份与还原
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。