一次生产环境mysql迁移操作(一)数据归档
一次生产环境mysql迁移操作(二)mysql空间释放(碎片整理)
背景
在项目过程中我们经常要对数据库进行迁移、归档、拆分等等操作,现在描述下几种方案
- mysqldump 该命令可以指定导出数据库,该命令可能用时很久
- cp 直接拷贝mysql数据文件,这里会影响业务需要下线mysql
- 使用innobackupex 工具进行备份,这个不影响业务,速度稍快
- 先打lvm快照,然后从快照中备份数据,节省时间
我们有需要将物理盘上的mysql迁移到ssd上,先说一下生产环境一直有数据产生,且数据量达到500G。
方案一:使用mysqldump,不管是导入导出都太耗时,没有一天拿不下
方案二:直接物理磁盘上拷贝也是非常耗时,拷贝过程中需要停服务,这就导致停服务时间太长。
方案三:这个方案本来是很有优势的,但是实际情况导出导入也需要锁表或锁库,也是需要停服务,本来我们就不需要增量拷贝,innobackupex优势体现在增量拷贝。
方案四:拷贝速度快
综合停服务时间以及操作难易度,最终选择了方案四。
下面描述下操作步骤
环境准备
1、创建物理卷

执行命令
pvcreate /dev/vdb
2、创建卷组
vgcreate vgssd /dev/vdb
3、创建mysql数据分区
lvcreate --size280G -n mysql vgssd
4、移除mysql原有数据,并挂载
mv /var/lib/mysql /var/lib/mysql_bak
mount /dev/vgssd/mysql /var/lib/mysql
5、 拷贝线上数据到本地
cp -af remotepath /var/lib/mysql
chown mysql:mysql /var/lib/mysql
执行完上面步骤后,再开始进行归档操作
归档步骤
1、停止mysql以及其他服务
systemctl stop httpd
systemctl stop supervisord
systemctl stop mariadb
umount /var/lib/mysql
执行umount时需要保证各终端退出该目录
2、查看磁盘情况

3、创建快照卷
lvcreate -s --size 180G -n mysql_backup /dev/vgssd/mysql
4、重新绑定mysql,重启服务
mount /dev/vgssd/mysql /var/lib/mysql
systemctl start mariadb
systemctl start httpd
systemctl start supervisord
5、挂载快照卷
mkdir -p /mnt/mysql_temp
mount -o ro,nouuid /dev/vgssd/mysql_backup /mnt/mysql_temp
ls /mnt/mysql_temp
6、拷贝数据,将数据拷贝到本地
mkdir -p /mnt/backup/mysql
cp -a /mnt/mysql_temp /mnt/backup/mysql
7、取消挂载,删除快照卷
umount /mnt/mysql_temp
lvremove /dev/vgssd/mysql_backup
定时归档
暂定为30天,这样才能备份所有数据。
因为需要硬件准备,所以这里只能手动操作
恢复数据
如果磁盘数据丢失需要恢复数据,则执行下面操作
1、关停mysql服务
systemctl stop mariadb
2、修改/etc/my.conf
datadir= /mnt/backup/mysql
3、重启服务
systemctl start mariadb
一次生产环境mysql迁移操作(一)数据归档的更多相关文章
- 生产环境MySQL数据库集群MHA上线实施方案
生产环境MySQL数据库集群MHA上线实施方案 一.不停库操作 1.在所有节点安装MHAnode所需的perl模块(需要有安装epel源) yum install perl-DBD-MySQL -y ...
- 案例分享 生产环境逐步迁移至k8s集群 - pod注册到consul
#案例分享 生产环境逐步迁移至k8s集群 - pod注册到consul #项目背景 多套业务系统, 所有节点注册到consul集群,方便统一管理 使用consul的dns功能, 所有节点hostnam ...
- mysql迁移之巨大数据量快速迁移方案
mysql迁移之巨大数据量快速迁移方案-增量备份及恢复 --chenjianwen 一.前言: 当mysql库的大小达到几十个G或者上百G,迁移起来是一件非常费事的事情,业务中断,导出导入耗费大量的时 ...
- 【转】生产环境MySQL Server核心参数的配置
⑴ lower_case_table_names ● 推荐理由 GNU/Linux 平台,对数据库.表.存储过程等对象名称大小 ...
- 一次生产环境下MongoDB备份还原数据
最近开发一个版本的功能当中用到了MongoDB分页,懒于造数据,于是就研究了下从生产环境上导出数据到本地来进行测试. 研究了一下,发现MongoDB的备份还原和MySQL语法还挺类似,下面请看详细介绍 ...
- RAC环境下误操作将数据文件添加到本地存储
今天碰到个有意思的事情,有客户在Oracle RAC环境,误操作将新增的数据文件直接创建到了其中一个节点的本地存储上. 发现网上去搜的话这种问题还真不少,对应解决方案也各式各样,客户问我选择哪种方案可 ...
- MySQL表操作及数据操作
表操作 表相当于一个文件,其形式与现实中的表格相同.表中的每条记录都有相应的字段,字段就类似于表格的表头. 表操作详细: #对表进行操作(文件) #首先要切换到指定库(即文件夹)下:use db1; ...
- 生产环境MySQL优化
a:硬件的优化: 1. 采用64位cpu,cpu至少4颗,L2缓存越大越好2. 内存要大,32-64G运行1-2个实例,96-128G运行3-4个实例3. 机械盘选用sas盘,转速15000以上,有可 ...
- 生产环境mysql的参数设置不一样,好好的程序,又出错
一.概述 报错信息如下: org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: c ...
- 马老师 生产环境mysql主从复制、架构优化方案
Binlog日志(主服务器) => 中继日志(从服务器 运行一遍,保持一致).从服务器是否要二进制日志取决于架构设计.如果二进制保存足够稳定,从性能上来说,从服务器不需要二进制日志.默认情况下, ...
随机推荐
- 卷积神经网络-AlexNet
AlexNet 一些前置知识 top-1 和top-5错误率 top-1错误率指的是在最后的n哥预测结果中,只有预测概率最大对应的类别是正确答案才算预测正确. top-5错误率指的是在最后的n个预测结 ...
- 配置阿里云yum源
CentOS6 rm -f /etc/yum.repos.d/* wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.co ...
- 2024-06-26:用go语言,给定一个长度为n的数组nums和一个正整数k, 找到数组中所有相差绝对值恰好为k的子数组, 并返回这些子数组中元素之和的最大值。 如果找不到这样的子数组,返回0。 输
2024-06-26:用go语言,给定一个长度为n的数组nums和一个正整数k, 找到数组中所有相差绝对值恰好为k的子数组, 并返回这些子数组中元素之和的最大值. 如果找不到这样的子数组,返回0. 输 ...
- C语言:不定长结构体的实现方式
需求 有时候,我们会遇到一些情况:数据前部分相同,但是后部分长度不固定:数据格式相似,只是尾缀的长度不同,例如某些数据包,需要不定长度. 为了能够同时使用上不同长度的数据.可以用以下的方式实现. 方案 ...
- windows下rust环境的安装(现在是2023年5月份)
在自己家电脑上安装一下rust,还是遇到一些问题,这里记录一下,免得后面再踩坑. 官方网站 获取主要信息还得靠官网,比如安装软件:) 地址是 https://www.rust-lang.org/zh- ...
- Java常用JDK类库和第三方类库
以下是收集的一些有用的第三方库,Java开发人员可以在其应用程序中使用它们来完成许多有用的任务.为了使用这些库,Java开发人员也应该熟悉这些类库. jdk自带的常用类库 java.lang包 jav ...
- JS--正则表达式--手稿
- yb课堂 基于浏览器和node.js的http客户端Axios 《三十四》
什么是Axios 基于promise用于浏览器和node.js的http客户端 支持浏览器和node.js 支持Promise API 支持拦截请求和响应 支持转换请求和响应数据 JSON数据的自动转 ...
- yb课堂之实战登陆模块开发整合Json Web Token《十》
开发登陆模块功能,并整合Json Web Token 开发登陆功能 LoginRequest.java UserMapper.xml UserMapper.java UserService.java ...
- 诺基亚8110 4G手机强制格式化方法
关机状态下,先按住上键,再按住开机键,出现开机动画时松开开机键,出现硬割界面下键选择第一个wipe用开机键确认yes,再次出现硬格界面,下键选择第二个wipe用开机键确认yes,再次出现硬格界面开机键 ...