zoukankan      html  css  js  c++  java
  • 备份恢复工具xtrabackup安装和使用的记录

    一、安装

    下面的方法是在测试环境可以上网的情况下安装的:

    提供的是在centos7上安装的方法:

    包下载:

    wget https://www.percona.com/downloads/percona-toolkit/2.2.6/RPM/percona-toolkit-2.2.6-1.noarch.rpm  (这个可能会用到,但我未使用到)

    wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm

    wget http://rpmfind.net/linux/epel/7/x86_64/Packages/l/libev-4.15-3.el7.x86_64.rpm

    包安装:

    rpm -ivh libev-4.15-3.el7.x86_64.rpm

    yum install perl-Digest-MD5 -y

    rpm -ivh percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm

    追加其它centos版本上的安装方法:

    先到https://www.percona.com/downloads/XtraBackup/LATEST/这个网站下载对应系统对应版本的percona-xtrabackup的rpm包,然后执行rpm -ivh安装这个包,会报错,并告知相应的依赖包,下载安装这些依赖包就可以。我认为它需要的依赖就两个:perl-Digest-MD5和libev-4

    perl-Digest-MD5这个使用yum安装就可以了。

    libev-4的下载地址为:http://rpmfind.net/linux/rpm2html/search.php?query=libev(x86-64)

    下面的方法是在测试环境没网的情况下安装的:

    rpm -ivh libev-4.03-3.el6.x86_64.rpm

    rpm -ivh percona-xtrabackup-24-2.4.11-1.el6.x86_64.rpm

    备注:这两个包都是centos6上的,但在centos7上也安装成功了。

    这两个包可以网上下载。然后使用filezilla上传到测试环境上。下载地址前面已经提供。

    如果安装percona-xtrabackup-24-2.4.11-1.el6.x86_64.rpm这个包失败,请先安装下面两个包,再安装这个包:

    rpm -ivh percona-toolkit-2.2.6-1.noarch.rpm --force --nodeps         #前面已提供下载地址

    rpm -ivh perl-IO-Socket-SSL-2.056-1.fc28.noarch.rpm --force --nodeps

    下载地址:https://pan.baidu.com/s/1fadL26_EfGDItqWMuzmRwQ

    二、全量备份和恢复

    1.创建一个用于备份的用户(这一步看情况使用,如果需要的话,将第二步中用户替换成这个备份用户):

    grant reload,process,lock tables,replication client on *.* to 'pxb'@'localhost' identified by '123456' with grant option;

    flush privileges;

    2.备份全量数据库的命令(innodb引擎不需要停库):

    innobackupex --defaults-file=/etc/my.cnf --user=root --password="p@ssw0rd" --backup /dbback/temp/

    3.将备份下来的文件拷贝到另一台测试数据库所在的机器:

    scp -r 2018-12-24_10-28-15/ root@172.16.173.10:/var/lib/

    4.将全量备份恢复到数据库中:

    (1)准备(prepare)一个完全备份:

    innobackupex --apply-log /var/lib/2018-12-24_10-28-15/

    (2)关闭数据库,并删除数据文件:

    service mysqld stop

    rm -rf /var/lib/mysql

    mkdir /var/lib/mysql

    (3)执行恢复操作:

    innobackupex  --defaults-file=/etc/my.cnf --copy-back --rsync /var/lib/2018-12-24_10-28-15/

    (4)恢复完成后,授予权限:

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

    (5)启动数据库

    service mysqld start

    (6)数据库root密码修改

    vim /etc/my.cnf

    在[mysqld]下添加:

    skip-grant-tables

    保存退出。

    mysql -uroot

    update mysql.user set Password=password('Ideal123@WSX') where user='root';

    flush privileges;

    exit;

    注释掉/etc/my.cnf下skip-grant-tables保存退出。

    重启mysql

    如果数据库还是启动不起来,请查看日志,看一下报错原因:

    tail /var/log/mysqld.log

    三、指定数据库备份和恢复

    1.指定数据库备份的命令:(如备份zqzwfwsys库)

    innobackupex --defaults-file=/etc/my.cnf --databases 'zqzwfwsys mysql performance_schema' --user=root --password="p@ssw0rd" --backup /dbback/temp/
    2.

  • 相关阅读:
    harbor1.9仓库同步迁移
    接口强制删除namespace 为Terminating的方法
    k8s 命令自动补全
    docker harbor 搭建&配置http/https 方法
    docker harbor 清理释放存储空间
    强化学习系列
    Kaggle的Outbrain点击预测比赛分析
    talkingdata比赛分析
    keras模型总结
    深度神经网络多任务学习(Multi-Task Learning in Deep Neural Networks)
  • 原文地址:https://www.cnblogs.com/jipinglong/p/10167274.html
Copyright © 2011-2022 走看看