zoukankan      html  css  js  c++  java
  • 通过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,可以看到已经恢复到我们备份前的样子了。

  • 相关阅读:
    链表 | 递归删除不带头结点链表所有x元素
    A1016 | 磨人的大模拟
    Ubuntu 下安装 Qt Designer
    shell札记
    A1102 | 反转二叉树
    顺序表 | 二分查找:两个数组合并后的中位数
    A1113 | Integer Set Partition (25)
    A1128 | 逻辑想象能力、简洁高效美观的代码、memset的使用情景
    05.字符串
    04.序列的应用
  • 原文地址:https://www.cnblogs.com/yestreenstars/p/5888361.html
Copyright © 2011-2022 走看看