zoukankan      html  css  js  c++  java
  • 【转】MYISAM表批量压缩

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

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

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

     1 #!/bin/bash
     2 data_dir="/data/mysql/my_dbname/"
     3 filelist=`ls $data_dir`
     4 echo "MYISAMPACK BEGIN."
     5 for filename in $filelist
     6 do
     7     idx=`expr match "$filename" ".*.MYI"`
     8     if [[ $idx>0 ]]
     9     then
    10         /usr/bin/myisampack $data_dir$filename
    11     fi
    12 done
    13 
    14 echo "MYISAMPACK End. MYISAMCHK BEGIN."
    15 
    16 for filename in $filelist
    17 do
    18     idx=`expr match "$filename" ".*.MYI"`
    19     if [[ $idx>0 ]]
    20     then
    21         /usr/bin/myisamchk -r -o -f --sort-index --analyze $data_dir$filename
    22     fi
    23 done
    24 echo "MYISAMCHK END."
  • 相关阅读:
    linux脚本mysql服务与keepalived服务高可用脚本
    linux脚本启动服务脚本
    linux脚本数据库备份脚本
    linux脚本清理日志文件脚本
    最大数字
    求阶乘
    素数
    水仙花数
    js基础1
    css常用属性2
  • 原文地址:https://www.cnblogs.com/longhua828/p/mysql_myisampack.html
Copyright © 2011-2022 走看看