Bug #18692 | myisampack cannot be executed on a live server | ||
---|---|---|---|
Submitted: | 31 Mar 2006 15:50 | Modified: | 24 Feb 2007 19:37 |
Reporter: | Ajit Deshpande | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: MyISAM storage engine | Severity: | S4 (Feature request) |
Version: | 5.0.19, 5.0.74, 5.1.30 | OS: | Any (Linux (Centos 4.2)) |
Assigned to: | CPU Architecture: | Any |
[31 Mar 2006 15:50]
Ajit Deshpande
[31 Mar 2006 16:02]
MySQL Verification Team
Thank you for the bug report. Did you applied the below note from the Manual: http://dev.mysql.com/doc/refman/5.0/en/myisampack.html Please note the following: * If the mysqld server was invoked with external locking disabled, it is not a good idea to invoke myisampack if the table might be updated by the server during the packing process. It is safest to compress tables with the server stopped. Thanks in advance.
[19 Sep 2006 21:51]
J Jorgenson
Please re-open this as a 'Feature' request: Feature Request: When a table is explicitly Locked/Unlocked to check if externally modified? It seems unreasonable to require 'external-locking' for high-availablility databases that need periodic myisamchk/myisampack operations. My Testings (MyISAM tables): Table corruption ALWAYS occurs when external-locking is disabled, AND the following sequences are used: FLUSH TABLE x; LOCK TABLE x READ (or WRITE, doesn't matter); myisamchk x; myisampack x; myisamchk -qra x; UNLOCK TABLES; -- Table is corrupt, swapping sequence of lock/Flush doesn't resolve issue. However, using the following technique the table IS NOT corrupt: ALTER TABLE x RENAME x_comp; FLUSH TABLE x_comp; myisamchk; myisampack; myisamchk; FLUSH TABLE x_comp; ALTER TABLE x_comp RENAME x; The only different is Locking the table before compressing it.
[24 Feb 2007 19:37]
MySQL Verification Team
Thank you for the bug report feature request.
[23 Dec 2008 8:42]
MySQL Verification Team
it would be nice to to implement the entire myisampack procedure with some variation of ALTER TABLE, and make it safe to run on a live server.
[19 Jul 2011 10:54]
MySQL Verification Team
see bug #41711