ITPub博客

首页 > Linux操作系统 > Linux操作系统 > myisampack 用法

myisampack 用法

原创 Linux操作系统 作者:markzy5201190 时间:2012-06-20 12:17:47 0 删除 编辑
工作中接触myisam存储引擎数据库,每天产生大量的数据,磁盘空间告急...,在不增加磁盘下,尝试下mysql中压缩数据工具myisampack....
1.压缩前数据文件大小:

[root@mysql5 testDB]# ls -lh
total 72M
-rw-rw---- 1 mysql mysql   61 Jun 11 07:13 db.opt
-rw-rw---- 1 mysql mysql 8.9K Jun 11 07:16 user_log_2011_12_15.frm
-rw-rw---- 1 mysql mysql  56M Jun 11 07:17 user_log_2011_12_15.MYD
-rw-rw---- 1 mysql mysql  16M Jun 11 07:17 user_log_2011_12_15.MYI
2.使用myisampack工具
[root@mysql5 testDB]# myisampack ./user_log_2011_12_15.MYI
Compressing ./user_log_2011_12_15.MYD: (1569132 records)
- Calculating statistics
- Compressing file
68.42%     
Remember to run myisamchk -rq on compressed tables
3.显示压缩后数据大小
Remember to run myisamchk -rq on compressed tables
[root@mysql5 testDB]# ls -lh
total 18M
-rw-rw---- 1 mysql mysql   61 Jun 11 07:13 db.opt
-rw-rw---- 1 mysql mysql 8.9K Jun 11 07:16 user_log_2011_12_15.frm
-rw-rw---- 1 mysql mysql  18M Jun 11 07:17 user_log_2011_12_15.MYD
-rw-rw---- 1 mysql mysql 1.0K Jun 19 22:51 user_log_2011_12_15.MYI
压缩率达70%,还可以应急下磁盘空间...
4.还没有完,运行myisampack 后,必须运行myisamchk以重新创建index,我们可以排序index 块并创建mysql优化器需要的统计信息以更有效工具:如下:
[root@mysql5 testDB]# myisamchk -rq --sort-index --analyze user_log_2011_12_15.MYI
- check record delete-chain
- recovering (with sort) MyISAM-table 'user_log_2011_12_15.MYI'
Data records: 1569132
- Fixing index 1
- Sorting index for MyISAM-table 'user_log_2011_12_15.MYI'
5.接着:
[root@mysql5 testDB]# mysqladmin flush-tables 以强制使用新的表;

现在的表,只有只读功能;
要想解压缩一个压缩的表,使用myisamchk的--unpack选项.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26855487/viewspace-733335/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-04-05

  • 博文量
    82
  • 访问量
    454248