怎么压缩mysql数据 mysql压缩包安装教程8020( 二 )


这时相当与已经备份成功,备份文件即为上次的binlog.000022日志文件 。
4:删除数量,从日志还原数据
1) 删除ABC行
查询以及没有ABC行列 。
2) 恢复数据ABC行
退出mysql , 在命令端用mysqlbinlog命令恢复到binlog.000022日志状态 。
进入数据库再次查看数据,ABC已经恢复 。
增量备份完成 。
如何压缩Mysql数据库压缩表从名字上来看,简单理解为压缩后怎么压缩mysql数据的表 , 也就是把原始表根据一定的压缩算法按照一定的压缩比率压缩后生成的表 。
1.1 压缩能力强的产品
表压缩后从磁盘占用上看要比原始表要小很多 。如果怎么压缩mysql数据你熟悉列式数据库,那对这个概念一定不陌生 。比如 , 基于 PostgreSQL 的列式数据库 Greenplum;早期基于 MySQL 的列式数据库 inforbright;或者 Percona 的产品 tokudb 等,都是有压缩能力非常强的数据库产品 。
1.2 为什么要用压缩表怎么压缩mysql数据?
情景一怎么压缩mysql数据:磁盘大小为 1T,不算其他的空间占用,只能存放 10 张 100G 大小的表 。如果这些表以一定的比率压缩后,比如每张表从 100G 压缩到 10G,那同样的磁盘可以存放 100 张表,表的容量是原来的 10 倍 。情景二:默认 MySQL 页大小 16K,而 OS 文件系统一般块大小为 4K,所以在 MySQL 在刷脏页的过程中,有一定的概率出现页没写全而导致数据坏掉的情形 。比如 16K 的页写了 12K,剩下 4K 没写成功,导致 MySQL 页数据损坏 。这个时候就算通过 Redo Log 也恢复不了 , 因为几乎有所有的关系数据库采用的 Redo Log 都记录了数据页的偏移量,此时就算通过 Redo Log 恢复后,数据也是错误的 。所以 MySQL 在刷脏数据之前,会把这部分数据先写入共享表空间里的 DOUBLE WRITE BUFFER 区域来避免这种异常 。此时如果 MySQL 采用压缩表,并且每张表页大小和磁盘块大小一致 , 比如也是 4K,那 DOUBLE WRITE BUFFER 就可以不需要,这部分开销就可以规避掉了 。查看文件系统的块大?。?
root@ytt-pc:/home/ytt#tune2fs -l /dev/mapper/ytt--pc--vg-root| grep -i 'block size'Block size:4096
1.3 压缩表的优势
压缩表的优点非常明显,占用磁盘空间小怎么压缩mysql数据!由于占用空间?。哟排讨没坏侥诖嬉约爸缶绱涠挤浅=谑∽试?。
简单来讲:节省磁盘 IO,减少网络 IO 。
【怎么压缩mysql数据 mysql压缩包安装教程8020】1.4 压缩表的缺陷
当然压缩表也有缺点,压缩表的写入(INSERT,UPDATE,DELETE)比普通表要消耗更多的 CPU 资源 。
压缩表的写入涉及到解压数据,更新数据,再压缩数据,比普通表多了解压和再压缩两个步骤,压缩和解压缩需要消耗一定的 CPU 资源 。所以需要选择一个比较优化的压缩算法 。
1.5 MySQL 支持的压缩算法
这块是 MySQL 所有涉及到压缩的基础,不仅仅用于压缩表 , 也用于其它地方 。比如客户端请求到 MySQL 服务端的数据压缩;主从之间的压缩传输;利用克隆插件来复制数据库操作的压缩传输等等 。
从下面结果可以看到 MySQL 支持的压缩算法为 zlib 和 zstd,MySQL 默认压缩算法为 zlib,当然你也可以选择非 zlib 算法,比如 zstd 。至于哪种压缩算法最优,暂时没办法简单量化,依赖表中的数据分布或者业务请求 。
关于怎么压缩mysql数据和mysql压缩包安装教程8020的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读