diskgenius 数据迁移_活见鬼,明明删除了数据,空间却没减少! - *IT界农民工*

9b931590af39db02a2bdb12a258c9e61.png

34aa46c31d8f6a35f04cc9b772678b34.png

2b9e1293fcc6804ed5aa06358b7c101f.png

c1ce1e406384cc9ffbd3b76c4810d0a7.png

e455ec3570a9f4c23c6abc5e88e98a5e.png

迁移数据常用

d21c8c0be772370592344034af8d6db2.png

1、导出文件 - mysqldump 命令 

‍mysqldump 是 Mysql 自带的逻辑备份工具。其备份原理是通过协议连接到 Mysql 数据库,将需要备份的数据查询出来转换成对应的 insert 语句。当需要还原这些数据时,只要执行这些 insert 语句,即可将对应的数据还原。 

常用命令:

mysqldump -uroot -p123456 --all-databases  >/tmp/all.sql
mysqldump -uroot -p123456 --databases  db  >/tmp/db.sql
mysqldump -uroot -p123456 --databases  db  --tables a >/tmp/a.sql
mysqldump -uroot -p123456 --databases db --tables a --where='id=1' >/tmp/a.sql
mysqldump -uroot -p123456 --no-data --databases db  >/tmp/db.sql

2、导入文件 - source 命令

source 命令可以将导出的 sql 文件导入进指定数据库。

操作步骤:

  • use 数据库;

  • soucre 已导出的 sql 文件。

ea951818f1fbd4caaacf5c1d6175b49e.png

迁移思路

1. 数据库A历史数据迁移到 hdfs(一种分布式文件系统)上进行归档;

2. 删除数据库A已归档的表,使用 drop 命令;

3. 数据库A上新建表,用于数据库B迁移;

4. 数据库B中除未完成单外都迁移至数据库A;

5. 脚本进行删除数据库B上已迁移数据。 

ec326513bfc9baf1e088884c8778457b.png

f3464dd7e52494248d81e70710774933.png

ff803b98c5fb7dbc5e57166ead1ca726.png

阿丁开讲

1、参数介绍

在 Innodb 存储引擎中,innodb_file_per_table 参数是用来控制表数据的存储方式的。

当参数为 OFF 的时候,所有数据都存放于默认路径下名为 ibdata* 的共享表空间里,即将数据库所有的表数据及索引文件存放到一个文件中。在删除数据表的时候,ibdata* 文件不会自动收缩。

当参数为 ON 的时候,每一个表都将存储在一个以 .ibd 为后缀的文件中。这样每个表都有了自己独立的表空间,通过 drop table 命令就可以将表空间进行回收。 

从 Mysql 5.6.6 版本开始,innodb_file_per_table 默认为 ON 状态。

2、参数设置

通过 show variables like '%per_table%' 命令,可以查看 innodb_file_per_table 参数的当前状态:

4d4028b8538cebe44f21cebe642eda2d.png

如果想修改参数的状态,可通过 SET GLOBAL 动态地修改为 ON 或 OFF,也可以在 中做永久性修改。需要注意的是,在 中修改后生效的话需要重启 mysqld 服务。 

疑问:如果之前参数为 OFF 状态,设置为 ON 状态后,表空间如何分配?

答案是仅对后续操作生效。

什么意思呢?修改前的数据还维持原状,也就是说之前的数据继续存放于 ibdata* 文件中,修改后的使用独立表空间。 

所以建议在开始就将该参数设置为 ON 状态。

4dada2ba3fa754e57833ae945dcff8cb.png

第二天

ae63dd6c588ba867f664ae31a0540804.png

47e2679dbf2d254d3ed1e0f63056d87b.png

176673b880c220bb48de7ff2bcd3fe3f.png 

阿丁二次开讲

在这之前要先介绍下 Innodb 存储数据所用的 B+ 树结构,画个图你理解下:

0d0b09b4a851b77ee0391c0c41ad9f03.png

在图中,P 代表一页数据,R 代表一行数据。

假设我们要删掉 R2 这条记录,InnoDB 引擎只会将其标记为删除状态,并不会真正把这行数据所占的空间释放掉,也就是说这个坑位还留着。如果后续所插入的数据在 R1 与 R3 之间的话,这个空间是可以被使用上的。

假设我们恰好删除了 R1、R2、R3 这三条记录,也就是说 P1 这一页的数据都被删掉了,那么 P1 所在的空间都会被标记为可复用。如果插入的数据需要使用新页的话,P1 的坑位就可以被利用起来了。 

那么你可能会问了,我插入的数据恰好巧妙的避开了这些位置呢。那我还能说啥,骚呗。这样会造成很多空间被浪费,如果删除大量的数据的话,被浪费的空间也会是巨大的。

ece246d66a1c74ae5c3d4940c09360c6.png

optimize table 的本质是 ALTER TABLE xxx ENGINE = InnoDB;

在版本之前,重建表的过程是这样的:

c836353e8a7d60467e49579ebc002416.png

65b081e1d86e048df9cdb70e74f38781.png

b92788bde65ac537fc4b1ba7467d5863.png

77f85842826c53a8f15f6b7e8c4880f5.png

bc4817c22c290c6509e4360572983e47.png

679252e1339dc73cc354c0bb58f6b1ac.png

然后用临时文件替换旧表,这样便实现了表的重建。

40837ce75374ec5f2671837ab4b8f4eb.png

注意

1、控制迁移速度,防止主从延迟导致线上故障;

2、创建大表时,使用下面的建表语句可节省 50% 左右的空间:

ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8

3、使用 optimize table 压缩表时,需要留够一定的空间。

关于作者

作者:大家好,我是莱乌,BAT搬砖工一枚。从小公司进入大厂,一路走来收获良多,想将这些经验分享给有需要的人,因此创建了公众号「IT界农民工」。定时更新,希望能帮助到你。

87f2a7a29bc1c32f1b9d7b7f7dbec105.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iphone短信尚未送达_第五期:从苹果 乔布斯 iPhone 说到张小龙 微信 理财通

这篇评测我是怀着敬畏之心写的。第一部分:从设计理念说起(一)说到设计理念,不得不先说下苹果的iPhone一)第一代iPhone于2007年1月9日由苹果公司前首席执行官史蒂夫乔布斯发布,并在2007年6月29日正式发售。让我们看一下第一代iPhone的几个细节…

declare begin end 中if怎么写_习语系列第45期:”未雨绸缪“英语怎么说?

背景介绍:英语习语是指一系列特定词的组合,但从字面上看不容易被理解。广义的习语包括短语动词、俚语、谚语、行话等。这为我们参加四六级、雅思、托福、GRE/GMAT考试做阅读理解题时带来了不少困难。抛开考试不谈,如果只是想单纯地读懂经济学…

python在哪个城市工资高_专硕好还是学硕好?哪个更好就业工资高?

最近有备考的小伙伴咨询关于学硕和专硕的问题,一篇旧文分享下。昨天的文章专硕学费贵那么多会比学硕学的东西多吗?九大美院研究生学费对比(点击查看)受到了不少小伙伴的关注,大家就专硕和学硕的问题提出了不少疑义。有人认为专硕好&#xff0…

comparator比较器用法_汽车三元催化器堵塞咋办?不拆不换,用这招清理干净、动力猛如虎...

如今汽车的价格是不断走低,很多人也能如愿成为有车人群。如今国庆假期即将到来,在国庆前买了车的朋友就能在长假里开着汽车出去好好游玩一番,这过程是想想都觉得美妙。不过作为车主,汽车不单要懂得开,也要学会保养&…

51单片机怎么显示当前时间_51单片机玩转物联网基础篇06-LCD1602液晶显示器

前言本节我们开始学习LCD1602,LCD1602是字符型液晶显示屏,在实际项目中应用非常广泛,学完本节就可以逐步开发一些好玩的应用了。一、基础知识1.LCD1602简介LCD1602是字符型液晶显示模块,专门用于显示字母、数字、符号等点阵式LCD&…

联想服务器如何u盘启动盘装系统,联想如何设置u盘启动

相信有不少网友都在使用联想电脑,它的性价比一直受到不少消费者的青睐。接下来教大家联想如何设置u盘启动,希望大家能喜欢。联想如何设置u盘启动步骤阅读1、按快捷键弹出启动选项,联想笔记本一般是F12或者F22、按TAB键切换App Menu菜单&#…

c语言负数左移右移_C语言 位运算符的运算规则

位运算是指按照二进制进行的运算,在C语言中,提供了6种的位运算符,他们分别是按位与(&),按位或(|),按位异或(^),按位取反&#xff…

的标题形状工具在哪里_自媒体如何搜集素材?标题、文章、图片素材收集3大途径!...

文:老彭自媒体大家好,我是老彭,很多人觉得做自媒体写内容很难,每天想写点东西又感觉无从下手,那么到底是什么原因造成的呢?其实最主要的原因还是自己平时看的太少,和素材储备不足所导致的。大家…

小样本点云深度学习库_合成鲁棒的对抗样本来欺骗深度学习分类器

本期一诺sec关注深度学习系统安全问题,推荐一篇来自ICML 2018会议论文Synthesizing Robust Adversarial Examples。论文链接http://proceedings.mlr.press/v80/athalye18b.html。深度模型对于对抗样本具有高度的脆弱性,这已经是得到大家印证的事实。自从…

java数据类型_JAVA基础篇(数据类型)

首先请大家想想这几个问题:1.java数据类型是什么?2.Java数据类型有什么用?上一节(JAVA基础篇(函数))有个add函数,里面有两个int类型,int类型就是整数的意思,这…

SharePoint CAML In Action——Part I

阅读目录 CAML In Action接下来在SharePoint中&#xff0c;我们经常要对List进行操作&#xff0c;比如要从List中取出相应的ListItem&#xff0c;利用CAML是个好办法。在没了解CAML之前&#xff0c;我是这样取数据的&#xff1a; MyList.Items.Cast<SPListItem>().ToList…

地图统计_博客 城市访问量统计并且通过Echarts+百度地图展示

本篇讲解一下 如何在Vue 中使用 Echarts 百度地图 统计 博客访问量 并且通过QQWry 解析 ip 地址 利用Echarts 展示出来效果图如下&#xff1a;1.纯真Ip地址库 QQWry这是我在github上找的 java版本的 解析 qqwry的1.1 maven 引入 qqwry<dependency> <grou…

修改console缓存大小_更改缓存的行大小将如何影响其他参数?

修改console缓存大小Prerequisites: Memory mapping and its types 先决条件&#xff1a; 内存映射及其类型 While designing a cache system of a PC, the size of cache lines is an important parameter. 在设计PC的缓存系统时&#xff0c;缓存行的大小是重要的参数。 In …

win10必须禁用的服务_Win10系统中这3个无用的设置,奉劝你还是早点关闭吧!

在PC端所有的操作系统中&#xff0c;占据市场份额最大的莫过于微软发布的windows系统。其中最经典的莫过于XP和win7&#xff0c;无奈微软已经停更了这两个操作系统&#xff0c;所以为了电脑的安全着想&#xff0c;很多人都直接升级更新至最新版的win10系统&#xff0c;目前win1…

Android 布局练习

要求&#xff1a;使用多种布局完成以下练习。 1.要求效果 完成效果 代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <…

有危害吗_涂料漆对身体有害吗?涂料漆危害怎么预防

目前很多人都会通过涂料漆来进行墙面装饰&#xff0c;用它来对墙面进行装饰是可以马上的改善墙壁的状态&#xff0c;但有些人也担心它会对身体有害&#xff0c;涂料漆对身体有害吗?由于担心涂料漆会给健康带来危害&#xff0c;很多人都想要预防&#xff0c;那涂料漆危害怎么预…

小写大写转换_小写到大写转换器JavaScript工具| 网络应用项目

小写大写转换Hi! At times, beginners always find it hard getting the application of the theory they learn in programming or a particular language. 嗨&#xff01; 有时&#xff0c;初学者总是很​​难在编程或特定语言中应用他们学到的理论。 In this article, well…

inventor扳手制作视频_弱电工程视频监控系统施工方案,可作施工组织设计

1 工程概况 1.1 编制《工程总体实施方案》 主要包括&#xff1a;结合高清监控系统设计方案作配套的深化设计&#xff0c;编制高清监控系统实施计划&#xff0c;并提出相关的配合要求。根据总体方案&#xff0c;对高清监控系统工程的技术设计作必要的补充。并提出相关的实施技术…

lol最克制诺手的英雄_LOL:究竟有没有完美克制诺手的英雄?时光上单或可一战?...

小伙伴们大家好&#xff0c;我是小数点。诺克萨斯之手德莱厄斯&#xff0c;他可以说是每一位上单玩家的噩梦了&#xff0c;因为喜欢玩诺手的人特别多&#xff0c;而会玩的诺手却一般都在对面。要知道诺手这样英雄拿到优势凶起来&#xff0c;你就没得打了&#xff0c;就算在塔下…

编程语言难度排名_编程语言TOP10!该如何选择适合自己的?

本文转载自公众号“读芯术”(ID&#xff1a;AI_Discovery)编程领域大约有700种代码语言。理解编程语言的重要性以及其如何影响需要执行的具体任务至关重要。一篇文章穷尽700 种语言不现实&#xff0c;也没有意义。因此&#xff0c;笔者挑选出了时下最热门的原因&#xff0c;在本…