mysql远程备份工具_innobackupex实现MySQL远程备份
一、了解innobackupex
1、mysqldump
mysql逻辑备份工具,作用于服务器本地,不需要额外安装插件
可以单表备份,备份为sql文件形式、方便,在多个场景通用
可通过shell命令实现定时备份,但备份时如果用户有操作,容易造成脏数据
将数据库备份到服务器本地sql文件,属于逻辑备份,不受数据库引擎限制
只能全量备份,恢复的话只能覆盖原有数据,或者恢复到新的表中,再手动处理
单线程,数据量大时备份耗时较长,且锁表容易引对不支持事务的表造成影响
2、mysqlhotcopy
需要安装perl-DBD-mysql包,只能运行、备份在服务器本地
文件的快速备份,属于物理备份,恢复时只需要复制文件到目录下替换源文件
只支持MyISAM引擎的MySQL数据库备份
3、innobackupex
属于物理备份,需要安装额外的插件,支持全量备份&增量备份
备份、恢复速度快,支持远程、并发、限速备份,支持加密传输到本地
支持 MyISAM (会锁表,似乎不支持增量?)跟 InnoDB
二、安装
注意innobackup版本与mysql版本,innobackup2.2不支持mysql5.7+
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
mysql远程备份工具_innobackupex实现MySQL远程备份相关推荐
- mysql的常用的备份工具_39、mysql常用备份工具
备份和恢复的作用 1.做灾难恢复 2.做审计 3.测试(备份数据做恢复测试) 备份类型: 根据备份时,数据库服务器是否在线 冷备:cold backup 服务器处于离线状态 温备:warm backu ...
- 【linux系统编程】远程登录工具ssh | 跨主机远程拷贝scp
远程登录工具ssh && 跨主机远程拷贝scp 正文开始@Assassin 目录: 远程登录工具ssh && 跨主机远程拷贝scp 1. ssh简介: 2. ssh基本 ...
- GoodSync 数据自动同步备份工具VS傲梅轻松备份系统数据备份工具 哪款更好?
备份和同步软件的使用越来越广泛,因为在这个数据驱动的时代,数据的备份和恢复非常重要.在这里我想向大家推荐两款备份和同步软件--GoodSync和傲梅轻松备份. GoodSync是一款备份和同步软件,它 ...
- 使用mysql备份工具innobackupex进行本地数据备份、恢复操作实例
innobackupex 支持所有mysql引擎数据备份恢复安装配置方法及原理介绍,访问下面链接 http://michaelkang.blog.51cto.com/1553154/1216826 1 ...
- linux mysql异地备份工具,Linux中MySQL的异地自动备份
Linux中MySQL的异地自动备份 文/李来祥 [摘要]@@ 随着校园网应用的日益丰富,Linux系统下MySQL数据库的应用也越来越广泛.然而数据的意外丢失对于校园网应用来说是很大的损失,业务数据 ...
- mysql免费管理工具2017_15个MySql(其他数据库)管理工具
工欲善其事,必先利其器.几乎每个开发人员都有最钟爱的 MySQL 管理工具,它帮助开发人员在许多方面支持包括 PostgreSQL,MySQL,SQLite,Redis,MongoDB 等在内的多种数 ...
- MySQL - 使用trace工具来窥探MySQL是如何选择执行计划的
文章目录 生猛干货 Pre 演示Demo trace工具使用 Trace分析 Trace解读 搞定MySQL 生猛干货 带你搞定MySQL实战,轻松对应海量业务处理及高并发需求,从容应对大场面试 Pr ...
- mysql数据恢复工具_mysql文件恢复软件|Mysql数据库修复工具(Recovery for MySQL)下载 V2.7.22255.1 官方版 - 比克尔下载...
Recovery for MySQL是一款Mysql数据库修复工具,也可以用来恢复mysql文件,支持3.x.4.x.5.x等多个版本,支持myd和myi文件,它可以将检索到的数据保存至SQL脚本中, ...
- 如何选择MySQL的备份工具
数据库备份的重要性毋庸置疑,可以说,它是数据安全的最后一道防线.鉴于此,对于备份,我们通常会做以下要求: 多地部署对于核心数据库,我们通常有两地三中心的部署要求.对于备份来说,也是如此.一个备份应该有 ...
最新文章
- 全面升级!星环科技基础软件再升级,赋能数字中国建设
- 使用PlantText画时序图分析业务流程
- 深入剖析Java即时编译器(上)
- 计算机技术综合应用,浅谈计算机技术综合应用能力培养.pdf
- CSDN博客代码块代码没有高亮颜色解决办法
- Exchange2003的设定及安全管理
- mysql 默认sql mode_MySQL的sql_mode模式说明及设置
- 苹果暗黑模式_【蜜茶原创】微信最终妥协苹果,暗黑模式正式上线!
- graphql java demo_GraphQL学习,Java简单实现
- c语言编程实现二叉树的镜像,C/C++知识点之C++实现利用(前序和中序生成二叉树)以及(二叉树的镜像)...
- Jenkins 使用slave管理进行持续集成测试说明
- ImportError: No module named cv2问题的解决方法(修改python默认版本)
- CIO思考:混合云为行业注入了哪些活力?
- paip.提升用户体验----记住用户名与自动登录
- iOS 应用内付费(IAP)开发步骤
- 证券交易所的运作系统
- 纯前端实现验证码功能
- 微信小程序-slot插槽
- fir1截止频率计算_如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计...
- vue-devtools工具点击open in editor 自动跳转到对应的组件页面
热门文章
- vue点击按钮上传图片_关于javascript:Vue-点击按钮提交表单
- mysql数据结构_mysql的底层数据结构
- 超实用!18 个开箱即用的 Shell 脚本,拿好了~
- 数学和物理的共同演化
- 文本显示变量_【RPA课堂】UiPath中的变量、数据类型和组件
- Wordpress不同页面显示不同小工具
- 论文翻译——FingerSound:Recognizing unistroke thumb gestures using a ring
- html 中 标签里面的id 和 name 有什么区别?
- strlen() Bug
- 简单、有效、全面的Kubernetes监控方案