innobackupex实现MySQL远程备份

一、了解innobackupex

1、mysqldump

  • mysql逻辑备份工具,作用于服务器本地,不需要额外安装插件
  • 可以单表备份,备份为sql文件形式、方便,在多个场景通用
  • 可通过shell命令实现定时备份,<font color="Red">但备份时如果用户有操作,容易造成脏数据</font>
  • 将数据库备份到服务器本地sql文件,属于逻辑备份,不受数据库引擎限制
  • 只能全量备份,恢复的话只能覆盖原有数据,或者恢复到新的表中,再手动处理
  • 单线程,数据量大时备份耗时较长,且锁表容易引对不支持事务的表造成影响

2、mysqlhotcopy

  • 需要安装perl-DBD-mysql包,只能运行、备份在服务器本地
  • 文件的快速备份,属于物理备份,恢复时只需要复制文件到目录下替换源文件
  • 只支持MyISAM引擎的MySQL数据库备份

3、innobackupex

  • 属于物理备份,需要安装额外的插件,支持全量备份&增量备份
  • 备份、恢复速度快,支持远程、并发、限速备份,支持加密传输到本地
  • 支持 MyISAM (会锁表,似乎不支持增量?)跟 InnoDB

二、安装

注意innobackup版本与mysql版本,innobackup2.2不支持mysql5.7+

1、查看最新版本:https://www.percona.com/downloads/XtraBackup/LATEST/

image.png

2、开始安装

[root@localhost ~]# yum -y install 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
image.png

三、配置远程免密登录

如果要实现远程备份,必须配置远程免密登录,否则备份过程会没有报错,但是一直卡死在‘log scanned up to’,导致无法继续备份
180920 17:15:39 >> log scanned up to (1023762231)
180920 17:15:40 >> log scanned up to (1023762231)
180920 17:15:41 >> log scanned up to (1023762231)
....
但如果log scanned up to后面括号中的数值有变动,则并未卡死,仍在备份中

  • 生成秘钥,如果已经生成过,则跳过这一步
ll ~/.ssh/   //如果已有rsa文件,则是已生成
ssh-keygen -t rsa

一路回车,不需要其他信息

  • 添加公钥到远程主机
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@主机IP

会提示输入远程主机用户名对应的密码,必须输入不能留空
最后会提示通过‘ssh 用户名@IP’命令确认是否成功开启免密登录

image.png

四、备份

定时备份

定时通过innobackupex备份数据库、scp传送到指定

#!/bin/bash

cd /home

if [ ! -d "crontab" ];then
mkdir crontab
else
echo "文件夹已经存在"
fi

cd crontab
date=`date +%Y%m%d`
echo `date +%Y%m%d-%H%M`:开始备份 >> backup_db.log

echo "------ start backup db ------"

ssh root@39.108.123.165 \ "mkdir /home/backup/database/`date +%Y%m%d`"

echo `date +%Y%m%d-%H%M`:创建目录-$date >> backup_db.log

innobackupex --defaults-file=/etc/my.cnf --no-lock --user 'root' --password 'password123' --stream=tar ./ | ssh root@192.1168.2.100 \ "cat - > /home/backup/database/`date +%Y%m%d`/`date +%H-%M`-backup.tar"

echo `date +%Y%m%d-%H%M`:备份结束 >> backup_db.log

echo "------ end backup db ------"

五、还原

1、全量还原

1)解压tar包到目录/backup/full/05-00-backup中

tar -xvf 05-00-backup.tar -C /backup/full/05-00-backup

2)停止mysql服务,并移除mysql目录下的文件,当然可以先打包备份下以防万一

service mysqld stop
rm -rf /var/lib/mysql/*

mysql目录并不一定是/var/lib/mysql/,可以运行innobackupex看下目录所在
[root@localhost ~]# innobackupex
xtrabackup: recognized server arguments: --datadir=/var/lib/mysql
190116 16:37:40 innobackupex: Missing argument
可以看到--datadir=/var/lib/mysql

3)开始恢复(apply-log),应用备份文件,回滚未提交的事务

 innobackupex --defaults-file=/etc/my.cnf --user=root --password=hello12345  --use-memory=1G --apply-log /backup/full/05-00-backup

--use-memory=1G是为了加快速度,apply-log之后目标文件下的文件已经准备就绪

innobackupex --defaults-file=/etc/my.cnf --user=root --password=hello12345 --copy-back /backup/full/05-00-backup

4)重新设定mysql文件夹及子文件用户群组为mysql

 chown -R mysql:mysql /var/lib/mysql/

5)启动MySQL

service mysqld start
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 198,932评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,554评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 145,894评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,442评论 1 268
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,347评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,899评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,325评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,980评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,196评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,163评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,085评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,826评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,389评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,501评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,753评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,171评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,616评论 2 339

推荐阅读更多精彩内容