mysql压缩表空间
REPAIR TABLE `table_name` 修复表
OPTIMIZE TABLE `table_name` 优化表
OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... 如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用
OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。您可以使用OPTIMIZE TABLE来重新
利用未使用的空间,并整理数据文件的碎片。 在多数的设置中,您根本不需要运行OPTIMIZE TABLE。即使您对可变长度的行进行了大量的更新,您也不需要经常运行,每周一次或每月一次
即可,只对特定的表运行。 OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。 注意,在OPTIMIZE TABLE运行过程中,MySQL会锁定表
# coding=utf- # 特别说明:
import sys,os
import time,shutil,datetime
from mysql_helper import MysqlHelper def main():
print datetime.datetime.now()
Repair()
print datetime.datetime.now() def Repair():
mysqlClient = MysqlHelper('1.2.3.4', 'root', '密码', "mysql") # 取出基本满足规则的数据库名,后面再做进一步检查
sql_str = "show databases;"
rows = mysqlClient.select(sql_str)
db_list = []
for row in rows:
db_name = row[]
if db_name != 'mysql' and db_name != 'information_schema' :
#print "===%s===" %(db_name)
db_list.append(db_name) for db in db_list:
n =
# 判断db是否符合规则
print "===%s===" %(db)
mysqlClient.select('use ' + db + ';')
rows2 = mysqlClient.select('show tables;');
for row_2 in rows2:
table_name = row_2[]
print "%s" %(table_name)
sql_repair = 'REPAIR TABLE ' + table_name + ';'
print sql_repair
sql_optimize = 'OPTIMIZE TABLE ' + table_name + ';'
print sql_optimize
mysqlClient.select(sql_repair)
mysqlClient.select(sql_optimize) if __name__ == '__main__':
main()
#!/usr/bin/python
import sys
import os
import MySQLdb class MysqlHelper: def __init__(self, MySqlHost, MySqlUser, MySqlPasswd, MySqlDB):
try:
self._conn = MySQLdb.connect(host=MySqlHost, user=MySqlUser,passwd=MySqlPasswd,db=MySqlDB, charset='utf8')
except Exception, e:
print e def __del__(self):
if self._conn is not None:
self._conn.close() def select(self,sql_str):
try:
_cursor = self._conn.cursor()
_cursor.execute(sql_str)
results = _cursor.fetchall()
_cursor.close()
return results
except Exception, e:
raise Exception,e def no_select(self,sql_str):
try:
_cursor = self._conn.cursor()
_cursor.execute(sql_str)
self._conn.commit()
_cursor.close()
except Exception, e:
raise Exception,e if __name__=='__main__':
mysql = MysqlHelper()
mysql压缩表空间的更多相关文章
- MySQL的表空间管理
表空间: MySQL没有真正意义上的表空间管理. MySQL的Innodb包含两种表空间文件模式,默认的共享表空间和每个表分离的独立表空间. 一般来说,当数据量很小的时候建议使用共享表空间的管理方式. ...
- mysql通过表空间来恢复或者传递数据
mysql的备份工具通常有 mysqldump ,mysqlpump(5.7后新特性)等备份工具,这里我们可以尝试使用表空间进行传递 方式是:拷贝数据文件+拷贝表空间 对应innodb引擎就是 i ...
- 谈谈什么是MySQL的表空间?
今天我要跟你分享的话题是:"大家常说的表空间到底是什么?究竟什么又是数据表?" 这其实是一个概念性的知识点,当作拓展知识.涉及到的概念大家了解一下就好,涉及的参数,留个印象就好. ...
- mysql共享表空间转独立表空间
使用innodb_export_import.py脚本: https://github.com/thecpaneladmin/innodb-tools 安装MySQL-python模块: shell ...
- 浅析mysql 共享表空间与独享表空间以及他们之间的转化
innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等.对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间.什么是共享表空间和独占表空间共 ...
- mysql 案例 ~ 表空间迁移数据与数据导入
一 简介:mysql5.6+的表空间传输二 目的:复制数据到另一个表三 步骤 1 create table b like a ->创建一个空表 2 alter table b disc ...
- mysql之 表空间传输
说明:MySQL(5.6.6及以上),innodb_file_per_table开启. 1.1. 操作步骤: 0. 目标服务器创建相同表结构1. 目的服务器: ALTER TABLE t DISCAR ...
- MySQL 独立表空间恢复案例
创建表的时候就会得到元数据.可以通过定义的方式对表的元数据进行生成 这个地方要注意的是 独立表空间当中 ibd & frm分别存储的是什么数据? 表空间:文件系统,为了更好的扩容数据库的存 ...
- MySQL共享表空间扩容
一.什么是共享表空间和独占表空间 共享表空间以及独占表空间都是针对数据的存储方式而言的. 共享表空间: 某一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在data目 ...
随机推荐
- 【转】react-native开发混合App-github开源项目
http://www.lcode.org/study-react-native-opensource-one/ http://gold.xitu.io/entry/575f498c128fe10057 ...
- 现代前端技术解析:Web前端技术基础
最近几年,越来越多的人投入到前端大军中:时至至今,前端工程师的数量仍然不能满足企业的发展需求:与此同时,互联网应用场景的复杂化提高了对前端工程师能力的要求,一部分初期前端工程师并不能胜任企业的工作 ...
- EasyNVR网页/微信播放RTSP摄像机HLS/RTMP播放时出现起播等待问题的优化过程
EasyNVR 项目中, 我们需要在网页/微信中嵌入 HLS 播放器, 实现直播效果. 开发过程中, 我们调研了很多HLS播放器, 包括 百度cyberplayer, ckplayer, flowpl ...
- 深度学习(六十九)darknet 实现实验 Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffma
本文主要实验文献文献<Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization ...
- List connected users–similar to task manager
class Program { [DllImport("wtsapi32.dll")] static extern IntPtr WTSOpenServer([MarshalAs( ...
- smvc配置属性编辑器:
配置属性编辑器: 在springmvc.xml中配置: <!-- 注解驱动 --> <mvc:annotation-driven conversion-service="c ...
- 转载 vi替换windows换行符为linux换行符
1.用vi打开指定文本文件:vi filename.c 2.按 Esc 键,进入命令模式: 3.按 : 键 (按 Shift 键不放后,同时按 : 键)进入命令输入状态: 4.在冒号后输入:%s/^M ...
- Jmeter-JDBC Connection Configuration和JDBC Request注释
1.JDBC Connection Configuration Variable Name--变量名,唯一值不可重复,给JDBC Request确定使用哪个配置 Max Number of Conne ...
- 【2018.06.26NOIP模拟】T3节目parade 【支配树】*
[2018.06.26NOIP模拟]T3节目parade 题目描述 学校一年一度的学生艺术节开始啦!在这次的艺术节上总共有 N 个节目,并且总共也有 N 个舞台供大家表演.其中第 i 个节目的表演时间 ...
- 获取web.config 内的值
获取 System.Configuration.ConfigurationManager.AppSettings[DrugPackageRegistrationName]//获取web.config ...