mysql整体迁移_anaconda环境迁移

mysql整体迁移_anaconda环境迁移一次生产环境mysql迁移操作(一)数据归档 一次生产环境mysql迁移操作(二)mysql空间释放(碎片整理) 背景 在项目过程中我们经常要对数据库进行迁移、归档、拆分等等操作,现在描述下几种方案…

一次生产环境mysql迁移操作(一)数据归档

一次生产环境mysql迁移操作(二)mysql空间释放(碎片整理)

背景

在项目过程中我们经常要对数据库进行迁移、归档、拆分等等操作,现在描述下几种方案

  • mysqldump 该命令可以指定导出数据库,该命令可能用时很久
  • cp 直接拷贝mysql数据文件,这里会影响业务需要下线mysql
  • 使用innobackupex 工具进行备份,这个不影响业务,速度稍快
  • 先打lvm快照,然后从快照中备份数据,节省时间

我们有需要将物理盘上的mysql迁移到ssd上,先说一下生产环境一直有数据产生,且数据量达到500G。 方案一:使用mysqldump,不管是导入导出都太耗时,没有一天拿不下 方案二:直接物理磁盘上拷贝也是非常耗时,拷贝过程中需要停服务,这就导致停服务时间太长。 方案三:这个方案本来是很有优势的,但是实际情况导出导入也需要锁表或锁库,也是需要停服务,本来我们就不需要增量拷贝,innobackupex优势体现在增量拷贝。 方案四:拷贝速度快 综合停服务时间以及操作难易度,最终选择了方案四。 下面描述下操作步骤

环境准备

1、创建物理卷

在这里插入图片描述 执行命令

pvcreate /dev/vdb

代码100分

2、创建卷组

代码100分vgcreate vgssd /dev/vdb

3、创建mysql数据分区

lvcreate --size280G -n mysql vgssd

4、移除mysql原有数据,并挂载

代码100分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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10128.html

(0)
上一篇 2023-01-25
下一篇 2023-01-25

相关推荐

  • 使用原生的python的简单介绍

    使用原生的python的简单介绍支持常见的主流平台,如AIX、HPUX、Solaris、Linux、Windows等,除Windows外常见的Unix、Linux平台均带有原生的Python,但版本一般较低。

    2023-11-25
    78
  • 一条SQL语句的奇妙旅程「建议收藏」

    一条SQL语句的奇妙旅程「建议收藏」MySQL的逻辑架构  连接器:负责用户的身份认证和权限校验。 查询缓存:这个在8.0以后的版本已经取缔了,但是不影响设计思想的了解,即:当有一个SQL进来的时候,先会去匹配SQL语句,如果本地已经

    2023-03-13
    122
  • linux安装redis5.0_Linux如何安装Windows

    linux安装redis5.0_Linux如何安装Windows前言 什么是Redis Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母

    2023-06-07
    83
  • 如何在Python中打开py文件?

    如何在Python中打开py文件?Python是一种高级动态语言,因其可读性高而备受欢迎。在Python中打开py文件非常简单,只需要一些基本的技巧即可。

    2024-04-22
    11
  • 荣耀笔记本U盘重装Win10系统教程,学到就是赚到[通俗易懂]

    荣耀笔记本U盘重装Win10系统教程,学到就是赚到[通俗易懂]     几天前双十一的时候,笔者就想入手一台物美价廉的轻薄笔记本电脑,经过一番功课后,发现荣耀MagicBook 性价比很高,不过只预装了Linux系统。可能对于普通消费者来说,自然更加习惯用Wi…

    2022-12-18
    116
  • DMS管理系统_dm8数据库

    DMS管理系统_dm8数据库团队管理 团队的概念是一个用户群体的意思,可以理解为一个业务线下的用户集合,也可以理解为一个小组的集合。 管理员 系统初始化的管理员拥有平台最大的权限,只有管理可以创建团队和添加管理员。 负责人 团…

    2023-01-28
    107
  • 数据采集实战(四)-[通俗易懂]

    数据采集实战(四)-[通俗易懂]1. 概述 前段时间在看一本很多人推荐的线性代数教材《线性代数应该这样学》第三版,这一版每个章节都有大量的习题。 官方网站上虽然按照章节提供了习题的答案,一来因为网站是国外的,访问不流畅,二来答案中还

    2023-04-24
    105
  • 在终端中运行Python脚本

    在终端中运行Python脚本Python是一个高级编程语言,常用于快速开发Web应用、科学计算、自动化任务等。Python脚本在本地运行可以让我们更加方便地进行代码测试和调试,另外Python的平台独立性也让Python成为跨平台开发的理想选择。但是在一些情况下,我们需要在终端中运行Python脚本。

    2023-12-29
    58

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注