首页 > 数据库 > MySQL > 正文

MySQL实现MYISAM表批量压缩的方法

2024-07-24 13:09:11
字体:
来源:转载
供稿:网友
这篇文章主要介绍了MySQL实现MYISAM表批量压缩的方法,实例分析了MySQL使用shell命令批量压缩MYISAM表的相关技巧,需要的朋友可以参考下
 

本文实例讲述了MySQL实现MYISAM表批量压缩的方法。分享给大家供大家参考,具体如下:

关于对MYISAM表的压缩,可以使用myisampack和myisamchk完成(myisampack完之后必须进行myisamchk才能使用压缩后的表,而且是只读的), 其详细地用法可以参考官方文档: 
http://dev.mysql.com/doc/refman/5.1/zh/client-side-scripts.html。

这两个操作需要谨慎使用,在压缩之前需要确认mysqld已关闭或者要压缩的表不会有其他的sql操作;而且压缩过程会很占用cpu资源,建议在服务器空闲的状态进行。

下面是用于实现某数据库下表压缩的shell过程(值得注意的是,如果数据量大,建议分多次操作,因其会很耗时):

#!/bin/bashdata_dir="/data/mysql/my_dbname/"filelist=`ls $data_dir`echo "MYISAMPACK BEGIN."for filename in $filelistdo  idx=`expr match "$filename" ".*.MYI"`  if [[ $idx>0 ]]  then    /usr/bin/myisampack $data_dir$filename  fidoneecho "MYISAMPACK End. MYISAMCHK BEGIN."for filename in $filelistdo  idx=`expr match "$filename" ".*.MYI"`  if [[ $idx>0 ]]  then    /usr/bin/myisamchk -r -o -f --sort-index --analyze $data_dir$filename  fidoneecho "MYISAMCHK END."


注:相关教程知识阅读请移步到MYSQL教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表