数据库迁移

本主前一段时间写毕业设计主要使用MySQL,紧锣密鼓的开发了将近一个多月,项目数据层、接口层、数据采集层已经开发完成,算法还在不断的优化提速,由于请了几位大佬帮我做Code Review,所以不得已购买了一个阿里云的RDS服务,将本地的所有数据迁移到RDS上。本篇文章仅仅介绍数据库MySQL本地迁移到云端。HIVE的数据同步到MySQL后续会介绍。使用的是Sqoop脚本。

01

为什么进行数据库迁移

我们首先需要确认的是什么场景下才会进行数据库迁移工作呢?

1、磁盘空间不足

2、业务出现瓶颈:业务扩展,单机读写压力大,在IO性能允许的情况下可以进行读写分离,横向扩展。

3、机器出现瓶颈:磁盘IO能力、内存、CPU出现瓶颈

4、项目改造

......

02

数据库迁移要求

1、 数据完整性

2、 线上业务平稳运行

3、 安全性

03

数据库备份

1、 数据量较小的情况下的迁移方式(10G)

直接选择数据库的备份命令mysqldump,将数据库SQL脚本导入到一个文件中,直接将文件上传至云端服务器执行或Load即可。我将本地数据迁移的RDS上使用的是这种迁移方式。

mysqldump -h host -p 3306 -u [用户名] -p [用户密码] --no-data --[database|database | all-databases] [数据库名称 | 多个数据库名称] [表1,表2] > sql脚本名称 | gzip 压缩文件.gz

选项说明:--no-data 仅仅备份数据库结构,不备份数据

--[database | databases ] 本分单个或多个数据库

--all-databases 备份所有数据库

当然导出文件只是第一步,当然需要将脚本文件上传到新的服务器上(这里就不对上传方式进行介绍了,scp等等),然后将脚本重新执行即可迁移新的数据库。这一个过程完全可以写一个Shell脚本放到旧的服务器上进行执行。比如导出所有的数据库,不包括表结构,代码如下,近期会改造该代码,需要搭建MySQL集群,两个节点:

mysqldump --no-data --all-databases -uroot -proot > all_databases.sql

Tips : 有一个前提,您安装的mysql必须配置到环境变量中。

2、当数据量超过10G的迁移方式

当数据量较大的时候,不能再使用mysqldump,因为此时会产生锁,导致时间较长,可以选择xtrabackup、直接拷贝数据目录(前提是容许停止服务),此时数据传输可以使用rsync进行传输数据文件。

04

参考

mysqldump https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

05

展望

海量数据迁移还没有场景得以应用,后期会在公司研究高并发(百万级QPS)一定会接触到的,后期会从数据库主从节点角度分析数据迁移,主要点如下:

1、主从分离下从节点的数据的备份与迁移

2、主从分离下任意节点数据的备份与迁移

......

喜欢本主的打个赏吧

mysql 数据迁移_MySQL海量数据迁移相关推荐

  1. mysql数据表最高速迁移,mysql的存储引擎为:myisam

    本文链接:http://blog.csdn.net/u010670689/article/details/41346689 需求: 开发产品过程中,有个项目分支,数据库须要带数据拷贝,可是表的数据非常 ...

  2. mysql数据迁移工具_MySQL数据迁移工具的设计与实现

    一.背景 MySQL作为最流行的关系型数据库产品之一,当数据规模增大遭遇性能瓶颈时,最容易想到的解决方案就是分库分表.无论是进行水平拆分还是垂直拆分,第一步必然需要数据迁移与同步.由此可以衍生出一系列 ...

  3. mysql数据控制语言_mysql数据控制语言DCL(Data Control Language)-数据库

    编辑推荐: 本文来自于网络,主要介绍了mysql数据控制语言DCL的创建.删除.修改用户密码.授予权限等代码编写. #创建用户 create user '用户名'@'允许登录的地址' identifi ...

  4. 03 mysql数据查询_MySql学习day03:数据表之间的连接、查询详解

    主键: 关键字:primary key 特点:不能为null,并且唯一. 主键分类: 逻辑主键:例如ID,不代表实际的业务意义,只是用来唯一标识一条记录(推荐) 业务主键:例如username,参与实 ...

  5. mysql数据备份与恢复_MySQL数据备份与恢复

    常见的MySQL管工具 mysql 命令行 跨平台 MySQL官方bundle包自带 MySQL-Workbench 图形 跨平台 MySQL官方提供 MySQL-Front 图形 Windows 开 ...

  6. mysql数据恢复工具_mysql文件恢复软件|Mysql数据库修复工具(Recovery for MySQL)下载 V2.7.22255.1 官方版 - 比克尔下载...

    Recovery for MySQL是一款Mysql数据库修复工具,也可以用来恢复mysql文件,支持3.x.4.x.5.x等多个版本,支持myd和myi文件,它可以将检索到的数据保存至SQL脚本中, ...

  7. mysql 数据转移历史表_mysql 历史数据表迁移方案

    当业务运行一段时间后,会出现有些表数据量很大,可能对系统性能产生不良的影响,常见的如订单表.登录log表等,这些数据很有时效性,比如我们一般很少去查上个月的订单,最多也就是报表统计会涉及到. 在我们的 ...

  8. mysql数据库数据迁移_MySQL数据库迁移详细步骤

    ========================================================================================== 一.背景简介 == ...

  9. mysql从一台电脑迁移_mysql数据库迁移到另一台电脑上

    解决办法 mysql要转换到另一台机器上面,最重要的要考虑以下几个问题 1.数据库使用什么存储引擎,如果是myisam的话,可以把data目录复制移走.但如果是innodb的话,千万不要用这种方法,会 ...

最新文章

  1. 使用Python判断俩张图像相同或以某种方式相似
  2. 第二代NumPy?阿里开源超大规模矩阵计算框架Mars
  3. 推荐最近收藏的几篇文章(r12笔记第85天)
  4. 权限管理----角色管理
  5. OpenVirteX 安装
  6. 十进制转十六进制_汇编语言 输入一位十六进制数,输出其十进制表示
  7. 元素随着滚动条滚动而滚动,但是到浏览器窗口顶部的距离是固定的功能代码...
  8. Linux LVM与磁盘配额详解
  9. python实现傅里叶变换求幅值和相位_Python 实现图像快速傅里叶变换和离散余弦变换...
  10. 萧县机器人_全国总决赛第一名!萧县杨楼的这位学生厉害了
  11. oracle对某两列求和再求和_只会SUM函数求和,试试这5种求和函数,十倍提高工作效率...
  12. python---用python实现插入排序
  13. .net,微软,薪资及其他
  14. linux 查看特定多个文件的总量
  15. android 微信搜索功能,[多图]等了N年的功能来了 Android微信8.0.3新版体验
  16. word页眉前后不一致怎么设置_2007word中,如何在某几页设置与前后不同的页眉?
  17. windows 生成ssh 密钥
  18. 【电路理论】2-6 线性电阻电路解答的存在性与惟一性定理
  19. 手机电脑平板用久了会变慢变卡?原因和解决之道
  20. Silverlight游戏研发手记:(一)差集运算在SLG战斗范围设定中的应用

热门文章

  1. 什么是C语言中的隐式函数声明?
  2. C语言实现魔方阵代码及解析
  3. mysql中常见查询表_MySQL中常见查询
  4. 儿童python编程能给孩子带来哪些好处_python编程入门学习对孩子成长有哪些优势?...
  5. POE交换机技术及优势介绍
  6. 【渝粤教育】广东开放大学 Linux操作系统 形成性考核 (55)
  7. 【渝粤题库】广东开放大学 信息安全数学基础 形成性考核 (2)
  8. 【渝粤题库】国家开放大学2021春1366英语教学理论与实践题目
  9. E820-DTU模拟量无线数传电台:物联网工业现场无线数传应用
  10. android5.0 v4a,【图】多图讲解V4A提高G5音效详细步骤(G5音效可以更棒的)