MyISAM Startup Options
The following options to mysqld can be used
to change the behavior of
MyISAM tables. For
additional information, see Section 5.2.1, “mysqld Command Options”.
Set the mode for automatic recovery of crashed
Don't flush key buffers between writes for any
Note: If you do this, you
should not access
MyISAM tables from
another program (such as from another MySQL server or with
myisamchk) when the tables are in use.
Doing so risks index corruption. Using
--external-locking does not eliminate this
The following system variables affect the behavior of
MyISAM tables. For additional information,
see Section 5.2.2, “Server System Variables”.
The size of the tree cache used in bulk insert optimization.
Note: This is a limit
Don't use the fast sort index method to create an index if
the temporary file would become larger than this.
Note: This parameter is
given in bytes.
Set the size of the buffer used when recovering tables.
Automatic recovery is activated if you start
mysqld with the
--myisam-recover option. In this case, when the
server opens a
MyISAM table, it checks
whether the table is marked as crashed or whether the open count
variable for the table is not 0 and you are running the server
with external locking disabled. If either of these conditions is
true, the following happens:
The server checks the table for errors.
If the server finds an error, it tries to do a fast table
repair (with sorting and without re-creating the data file).
If the repair fails because of an error in the data file
(for example, a duplicate-key error), the server tries
again, this time re-creating the data file.
If the repair still fails, the server tries once more with
the old repair option method (write row by row without
sorting). This method should be able to repair any type of
error and has low disk space requirements.
If the recovery wouldn't be able to recover all rows from
previously completed statementas and you didn't specify
FORCE in the value of the
--myisam-recover option, automatic repair
aborts with an error message in the error log:
Error: Couldn't repair table: test.g00pages
If you specify
FORCE, a warning like this is
Warning: Found 344 of 354 rows when repairing ./test/g00pages
Note that if the automatic recovery value includes
BACKUP, the recovery process creates files
with names of the form
You should have a cron script that
automatically moves these files from the database directories to