mysql 协议还原_mysql备份还原方案xtrabackup
mysql备份还原方案xtrabackup
摘要:mysql当数据库过大的时候,使用mysqldump的方式进行备份是一种非常慢的操作,500G的数据就够你备份一天一夜,我发现了一种mysql快速备份的方案,它使用文件存储的方式进行备份,支持全量和增量备份,这里所写为全量方式(如果可以接受备份开始到下次恢复之间的数据丢失时使用)。xtrabackup的备份速度很快,不管有多少的数据,备份速度完全是依赖于磁盘的读写速度,还支持压缩、不打断正在执行的事务、自动实现备份检验(用mysqldump会锁表,要加上可重复读--single-transaction才不会影响线上的程序写表,但是写表后的东西在还原的时候就会丢了,这也是全量备份的痛点)
特点
(1)备份过程快速、可靠
(2)备份过程不会打断正在执行的事务
(3)能够基于压缩等功能节约磁盘空间和流量
(4)自动实现备份检验
(5)还原速度快
准备mysql备份组件需要的安装包
检查服务器是centos6版本还是centos7+版本。选择安装包
安装备份工具
以下所有操作如果是在集群下,要在一个主节点上操作,操作一次即可,启动时设置主节点为被同步节点,集群的管理我们以后再讨论。
1. 上传并解压
假设当前系统是centos6+,使用Percona-XtraBackup-2.4.12-r170eb8c-el6-x86_64-bundle.tar包,拷贝到系统/tmp/backup_mariadb20181127目录下(没有则创建,日期写当天),使用tar xvf Percona-XtraBackup-2.4.12-r170eb8c-el6-x86_64-bundle.tar命令解压,你可以得到以下文件。
2. 安装rpm包
执行以下命令
3. 检查是否安装成功
按以下显示则安装成功
开始备份
1. 执行命令开始备份
执行以下命令开始备份,其中/etc/my.cnf为mysql配置文件位置,10.123.2.4为mysql绑定的ip(写当前机器的ip),user1为用户名,123456Abc为密码,/tmp/backup_mariadb20181127为备份文件所在目录,所有按实际环境填写。此处我们只备份cloud库所以--databases库就不用改动了
如果只需要备份其中一个或多个数据库,可以加参数--databases="cloud test",其中cloud和test是库名
可以使用--use-memory= (例如: 1MB, 1M, 1GB, 1G)选项加速,在不指定内存大小的情况下,默认会占用100MB的内存。
2. 检查是否备份成功
最后一行显示completed OK! 则备份成功,在所执行的目录下(此处是/tmp/backup_mariadb20181127)会出现备份的文件
可以看到文件结构,我们此处自动生成的备份文件夹名为2018-11-27_11-52-48,是一个以时间命名的文件夹
还原备份
1. 事务日志应用到备份
备份出的数据并不能直接使用,因为备份出的数据是不一致的,我们还需要将同时备份出的事务日志应用到备份中,才能得到一份完整、一致、可用的数据,xtrabackup称这一步操作为prepare,也就是还原数据前的"准备"工作。
在事务日志容量很大的情况下,可以使用--use-memory= (例如: 1MB, 1M, 1GB, 1G)选项加速,在不指定内存大小的情况下,默认会占用100MB的内存。
输出最后如下就为正确
2. 恢复数据
方法一、此处使用该方法,适用于备份部分数据库的方法
数据目录在/data/mariadb/data,我们备份的数据库为cloud库。
进入mysql命令行mysql -A,删除cloud库drop database cloud;(如果无法进入命令行则到数据目录下直接干掉cloud文件夹,集群操作的话必须通过drop或者先停止集群,确定好主从模式)
执行命令
方法二、先停止数据库服务/etc/init.d/mysqld stop,且对应的数据目录(此处是/data/mariadb/data)为空,如果不为空,手动删除,一般此方法针对全量备份的方法。
--copy-back:对应的目录就是我们准备好的可用数据的目录。此处为/tmp/backup_mariadb20181127/2018-11-27_11-52-48
--datadir:指定的目录就是还原后数据要存放的目录,如果my.cnf设置了datadir,可以省略--datadir,执行copyback时会读取my.cnf中的配置,datadir目录必须为空目录,如果不为空,手动删除。
3. 设置属主属组为mysql并启动
此时我们还不能启动mysql,因为我们是使用root用户拷贝的数据,所以数据目录中的数据文件的属主属组仍然为root,我们需要将这些文件的属主属组设置为mysql。
引用
mysql 协议还原_mysql备份还原方案xtrabackup相关推荐
- MySQL 8.0.15备份还原 MySQL 5.7.17
MySQL 8.0.15备份还原 MySQL 5.7.17 问题场景 解决方案 报错及替换后结果 问题场景 MySQL 8.0.1版本数据库备份 还原到 MySQL 5.7.17 数据库中:报错: 解 ...
- mysql 5.6.17 备份还原_mysql 备份和恢复
7. 备份和恢复 本章主要会介绍: 1.备份的类型:逻辑备份,物理备份,全备和增量4种 2.创建备份的方法 3.还原方法,包括还原到时间点 4.备份计划,压缩和加密 5.表维护,恢复损坏的表 7.1备 ...
- mysql zip 还原_mysql 压缩还原数据库
MySQL数据库备份和还原的常用命令 其实很多情况下mysql备份就是采用了这些命令,例如: mysql导入和导出数据 linux自动定时备份web程序和mysql数据库 备份MySQL数据库的命令 ...
- mysql在linux下备份还原,Linux下MySQL的备份与还原
Linux下MySQL的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [roo ...
- oracle导入导出还原,Oracle 备份 还原 数据库 导入导出
导出 EXP USER/PASSWORD@ODBC FILE=C:\***.DMP ROWS=N //不保存数据: 导出 EXP USER/PASSWORD@ODBC FILE=C:\***.DMP ...
- mysql 协议说明_MySQL认证协议_MySQL
本文是针对MySQL 5.5.9写的.MySQL协议是向老版本兼容的.老版本的MySQL Client可能不理解下面的某些字段而忽略掉. 实际使用的时候,服务器的协议版本应当大于等于客户端.遗憾的是, ...
- mysql备份后缀是什么_mysql备份还原
一.备份常用操作基本命令 1.备份命令mysqldump格式 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 –database 数据库名 > 文件名.sql 2.备份M ...
- MySQL - 日常操作二 备份还原
登录mysql的命令 # 格式: mysql -h 主机地址 -u 用户名 -p 用户密码 mysql -h 110.110.110.110 -P3306 -uroot -p mysql -uroot ...
- 用mysql命令还原_mysql——数据还原——使用mysql命令还原
备份文件中通常包含create语句和insert语句,mysql命令可以执行备份文件中的create语句和insert语句: 通过create语句来创建数据库和表,通过insert语句来插入备份的数据 ...
- Mysql学习总结(48)——MySql的日志与备份还原
一.错误日志 当数据库出现任何故障导致无法使用时,第一时间先去查看该日志 1.服务器启动关闭过程中的信息 2.服务器运行过程中的错误信息 日志存放路径,可以通过命令查看:
最新文章
- ubuntu12.04没有输入法。。
- 卡通渲染进阶 = toonlighting + outline + rimlighting + hair specular
- .Net学习笔记----2015-06-30(超市收银系统01-仓库类)
- java指令导出data文件_直接用 java 命令行动态生成jpg文件 (转)
- python画大对勾_python+selenium个人学习笔记8-获取信息和勾选框
- JAVA动漫论坛BBS系统的设计与实现
- 《时空幻境》Braid.v1.010.r2-RES-patch
- linux 安装.gz文件,linux安装gz文件命令
- 数学分析教程(科大)——1.3笔记+习题
- 客户端修改服务器的cookie,客户端与服务器cookie
- 从USB获得高效的双轨电源
- 【CTS】Ubuntu下安装CTS测试环境
- 修改文件句柄:ulimit 系统设置脚本(避免设置不彻底而无效)
- 治疗贫血的几款食疗方
- 《Maven官方文档》Maven 开发
- 自由曲面光学元件的OAM测量
- Mysql整型id和uuid区别
- LADY M过了自己的“赏味期限”?
- php工作便签,便签本的正确使用方法
- 论文阅读笔记《Fine-tuning Deep Neural Networks in Continuous Learning Scenarios》