渔民捕超百岁海龟,召唤砖家,徐淑彬博客
本文实例讲述了mysql实现myisam表批量压缩的方法。分享给大家供大家参考,具体如下:
关于对myisam表的压缩,可以使用myisampack和myisamchk完成(myisampack完之后必须进行myisamchk才能使用压缩后的表,而且是只读的), 其详细地用法可以参考官方文档:
。
这两个操作需要谨慎使用,在压缩之前需要确认mysqld已关闭或者要压缩的表不会有其他的sql操作;而且压缩过程会很占用cpu资源,建议在服务器空闲的状态进行。
下面是用于实现某数据库下表压缩的shell过程(值得注意的是,如果数据量大,建议分多次操作,因其会很耗时):
#!/bin/bash data_dir="/data/mysql/my_dbname/" filelist=`ls $data_dir` echo "myisampack begin." for filename in $filelist do idx=`expr match "$filename" ".*.myi"` if [[ $idx>0 ]] then /usr/bin/myisampack $data_dir$filename fi done echo "myisampack end. myisamchk begin." for filename in $filelist do idx=`expr match "$filename" ".*.myi"` if [[ $idx>0 ]] then /usr/bin/myisamchk -r -o -f --sort-index --analyze $data_dir$filename fi done echo "myisamchk end."
更多关于mysql相关内容感兴趣的读者可查看本站专题:《mysql事务操作技巧汇总》、《mysql存储过程技巧大全》、《mysql数据库锁相关技巧汇总》及《mysql常用函数大汇总》
希望本文所述对大家mysql数据库计有所帮助。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
小白安装登录mysql-8.0.19-winx64的教程图解(新手必看)
Navicat连接MySQL时报10060、1045错误及my.ini位置问题
网友评论