<commit_before>---
layout: post
title: "MySQL 数据定期归档及表空间整理"
date: 2017-04-26
tags: MySQL,Shell,Python 
---

### 开场白


	好久没来啦，年后一直在处理一下琐碎的问题，还有挺多新项目上线，所以一直木有时间更新，有点小冷清了。 

	
### 情况介绍	


今天来分享一个，我从事MySQL以来，经常遇见的一个问题，就是关于MySQL数据库中大表的数据归档。
有时候我们库中会存在一些类似于日志表、流水表，还有些表中的数据时效性过了就会成为冷数据，那么这些表中的数据大多都是冷数据，有些数据甚至过后没有查一下的余地。
但是它们就在真真实实的占用着数据库的磁盘空间。 
如鲠在喉啊，有木有？ 删又不能删（开发有时候说有可能还会查），Truncate又不能Truncate。


<img src="/images/posts/mysql_data_archive/ganga.jpg" height="222" width="237">

	
那今天我就介绍下我针对这种情况所采取的措施。 前方高能预警，请自带安全帽进入施工现场。

### 场景及准备工作
<commit_msg>new post public<commit_after>---
layout: post
title: "MySQL 数据定期归档及表空间整理"
date: 2017-04-26
tags: MySQL,Shell,Python 
---

### 开场白
  好久没来啦，年后一直在处理一下琐碎的问题，还有挺多新项目上线，所以一直木有时间更新，有点小冷清了。 

	
### 情况介绍	


  今天来分享一个，我从事MySQL以来，经常遇见的一个问题，就是关于MySQL数据库中大表的数据归档。
  有时候我们库中会存在一些类似于日志表、流水表，还有些表中的数据时效性过了就会成为冷数据，那么这些表中的数据大多都是冷数据，有些数据甚至过后没有查一下的余地。
  但是它们就在真真实实的占用着数据库的磁盘空间。 
  如鲠在喉啊，有木有？ 删又不能删（开发有时候说有可能还会查），Truncate又不能Truncate。


<img src="/images/posts/mysql_data_archive/ganga.jpg" height="222" width="237">

	
那今天我就介绍下我针对这种情况所采取的措施。 前方高能预警，请自带安全帽进入施工现场。

### 场景及准备工作

{'fraction_non_alphanumeric': 0.12352406902815623, 'fraction_numerical': 0.025431425976385105, 'mean_word_length': 7.348484848484849, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1545186', 'n_tokens_mistral': 851, 'n_tokens_neox': 922, 'n_words': 52}