MySQL备份还原_innobackupex安装_备份语句&还原语句

1. 安装xtrabackup

1.1查看libgcrypt版本

        [root@localhost tools]#  rpm -qa |grep libgcrypt

1.2 下载安装包:根据libgcrypt版本选择安装包

        如本地安装了libgcrypt183,就下载下方的包

https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.14/binary/tarball/percona-xtrabackup-2.4.14-Linux-x86_64.libgcrypt183.tar.gz

1.3 解压并配置环境变量

        (1) tar xf percona-xtrabackup-2.4.14-Linux-x86_64.libgcrypt183.tar.gz

        (2) mv percona-xtrabackup-2.4.14-Linux-x86_64 /usr/local/xtrabackup

        (3) echo "export PATH=$PATH:/usr/local/xtrabackup/bin" >> /etc/profile

        (4) source /etc/profile

1.4 检测是否安装成功

         [root@localhost tools]#  xtrabackup --version

2.备份准备

2.1 创建备份用户:

        进入到mysql数据库下:mysql> use mysql

        创建用户:

                create user 'backupuser'@'localhost' identified by 'backupuser';

2.2 对当前的用户授权管理:

        GRANT BACKUP_ADMIN,PROCESS,SELECT, RELOAD, LOCK TABLES, REPLICATION         CLIENT, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'backupuser'@'localhost' IDENTIFIED         BY 'backupuser';

        FLUSH PRIVILEGES;

        总结:一个mysql的备份用户需要以下权限:SELECT, RELOAD, LOCK TABLES,         REPLICATION CLIENT, SHOW VIEW, EVENT, TRIGGER。

2.3 创建一个备份数据的目录

        mkdir -p /data/backupDB

2.4 配置XtraBackup

        vim /etc/my.cnf

                target_dir=/data/bakupDB

2.5 检查备份目录是否为空(xtrabackup 不会覆盖现有文件)

        ls -lh /data/bakupDB/

        如果有文件则清空

                rm -r /data/bakupDB/*

                ls -lh /data/bakupDB/

3.开始备份

        备份命令:

innobackupex --defaults-file=/etc/my.cnf --compress --compress-threads=4 --stream=xbstream --parallel=5 --host=localhost -S /data/mysql/mysql_tmp/mysql.sock --user=backupuser --password=backupuser --databases=数据库名 /data/backupDB/> /data/backupDB/backup.xbstream

4.还原数据库准备

4.1 安装解压工具:qpress

        下载:http://www.quicklz.com/qpress-11-linux-x64.tar

        解压:tar xvf qpress-11-linux-x64.tar

        cp qpress /usr/bin

4.2 检查mysql服务是否已经停止

        ps -ef|grep mysqld

5. 还原数据库

5.1 到备份目录:

        cd /data/backupDB/

5.2 创建文件夹:

        mkdir -pv outputdir

5.3 打开

        xbstream -x < /data/backupDB/backup.xbstream -C /data/backupDB/outputdir/

5.4 解压

        进入目录:cd outputdir

        innobackupex --decompress --parallel=8 --compress-threads=7 ./ 

5.5 删掉压缩文件,如果不删 ,后边会报错

        find ./ -name "*.qp" |xargs rm -rf

5.6 回滚未提交的事务,先执行此句再恢复数据:

        innobackupex --apply-log /data/backupDB/outputdir/

5.7 修改outputdir为对应的库的名称,并修改原库为另外的一个名称,修改新库的权限

        查看原库:ll /data/mysql_data

        如果目录有内容则修改原库:

                mv /data/mysql_data /data/mysql_data_bak_20211230

        进入目录:cd /data/backupDB/

        修改还原库:mv outputdir  /data/mysql_data

        修改权限:chown -R mysql.mysql /data/mysql_data

6 启动实例

        启动实例:service mysql start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值