OS Manuals

/usr/bin/myisamchk

The MariaDB open source relational database

From mariadb-10.11 10.11.9-r0 (os), captured 2026-11-05 by running myisamchk --help (exit 0). permalink

/usr/bin/myisamchk  Ver 2.7 for Linux at x86_64
By Monty, for your professional use
This software comes with NO WARRANTY: see the PUBLIC for details.

Description, check and repair of MyISAM tables.
Used without options all tables on the command will be checked for errors
Usage: myisamchk [OPTIONS] tables[.MYI]

Global options:
  -H, --HELP          Display this help and exit.
  -?, --help          Display this help and exit.
  -t, --tmpdir=path   Path for temporary files. Multiple paths can be
                      specified, separated by colon (:), they will be used
                      in a round-robin fashion.
  -s, --silent	      Only print errors.  One can use two -s to make
		      myisamchk very silent.
  -v, --verbose       Print more information. This can be used with
                      --description and --check. Use many -v for more verbosity.
  -V, --version       Print version and exit.
  -w, --wait          Wait if table is locked.

Check options (check is the default action for myisamchk):
  -c, --check	      Check table for errors.
  -e, --extend-check  Check the table VERY thoroughly.  Only use this in
                      extreme cases as myisamchk should normally be able to
                      find out if the table is ok even without this switch.
  -F, --fast	      Check only tables that haven't been closed properly.
  -C, --check-only-changed
		      Check only tables that have changed since last check.
  -f, --force         Restart with '-r' if there are any errors in the table.
		      States will be updated as with '--update-state'.
  -i, --information   Print statistics information about table that is checked.
  -m, --medium-check  Faster than extend-check, but only finds 99.99% of
		      all errors.  Should be good enough for most cases.
  -U  --update-state  Mark tables as crashed if you find any errors.
  -T, --read-only     Don't mark table as checked.

Repair options (When using '-r' or '-o'):
  -B, --backup	      Make a backup of the .MYD file as 'filename-time.BAK'.
  --correct-checksum  Correct checksum information for table.
  -D, --data-file-length=#  Max length of data file (when recreating data
                      file when it's full).
  -e, --extend-check  Try to recover every possible row from the data file
		      Normally this will also find a lot of garbage rows;
		      Don't use this option if you are not totally desperate.
  -f, --force         Overwrite old temporary files. Add another --force to
                      avoid 'myisam_sort_buffer_size is too small' errors.
                      In this case we will attempt to do the repair with the
                      given myisam_sort_buffer_size and dynamically allocate
                      as many management buffers as needed.
  -k, --keys-used=#   Tell MyISAM to update only some specific keys. # is a
	              bit mask of which keys to use. This can be used to
		      get faster inserts.
  --create-missing-keys
                      Create missing keys. This assumes that the data
                      file is correct and that the the number of rows stored
                      in the index file is correct. Enables --quick
  --max-record-length=#
                      Skip rows bigger than this if myisamchk can't allocate
		      memory to hold it.
  -r, --recover       Can fix almost anything except unique keys that aren't
                      unique.
  -n, --sort-recover  Forces recovering with sorting even if the temporary
		      file would be very big.
  -p, --parallel-recover
                      Uses the same technique as '-r' and '-n', but creates
                      all the keys in parallel, in different threads.
  -o, --safe-recover  Uses old recovery method; Slower than '-r' but can
		      handle a couple of cases where '-r' reports that it
		      can't fix the data file.
  --character-sets-dir=...
                      Directory where character sets are.
  --set-collation=name
 		      Change the collation used by the index.
  -q, --quick         Faster repair by not modifying the data file.
                      One can give a second '-q' to force myisamchk to
		      modify the original datafile in case of duplicate keys.
		      NOTE: Tables where the data file is corrupted can't be
		      fixed with this option.
  -u, --unpack        Unpack file packed with myisampack.

Other actions:
  -a, --analyze	      Analyze distribution of keys. Will make some joins in
		      MySQL faster.  You can check the calculated distribution
		      by using '--description --verbose table_name'.
  --stats_method=name Specifies how index statistics collection code should
                      treat NULLs. Possible values of name are "nulls_unequal"
                      (default for 4.1/5.0), "nulls_equal" (emulate 4.0), and
                      "nulls_ignored".
  -d, --description   Prints some information about table.
  -A, --set-auto-increment[=value]
		      Force auto_increment to start at this or higher value
		      If no value is given, then sets the next auto_increment
		      value to the highest used value for the auto key + 1.
  -S, --sort-index    Sort index blocks.  This speeds up 'read-next' in
		      applications.
  -R, --sort-records=#
		      Sort records according to an index.  This makes your
		      data much more localized and may speed up things
		      (It may be VERY slow to do a sort the first time!).
  -b,  --block-search=#
                       Find a record, a block at given offset belongs to.

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
The following groups are read: myisamchk
The following options may be given as the first argument:
--print-defaults          Print the program argument list and exit.
--no-defaults             Don't read default options from any option file.
The following specify which files/extra groups are read (specified before remaining options):
--defaults-file=#         Only read default options from the given file #.
--defaults-extra-file=#   Read this file after the global files are read.
--defaults-group-suffix=# Additionally read default groups with # appended as a suffix.

Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- ----------------------------------------
character-sets-dir                (No default value)
data-file-length                  0
keys-used                         18446744073709551615
max-record-length                 9223372036854775807
set-auto-increment                0
set-collation                     (No default value)
sort-records                      0
tmpdir                            (No default value)
key-buffer-size                   1044480
key-cache-block-size              1024
myisam-block-size                 1024
read-buffer-size                  261120
write-buffer-size                 261120
sort-buffer-size                  134216704
myisam-sort-buffer-size           134216704
sort-key-blocks                   16
decode-bits                       9
ft-min-word-len                   4
ft-max-word-len                   84
ft-stopword-file                  (No default value)
stats-method                      nulls_unequal
Options (40)
OptionDescriptionSource
-H, --HELPDisplay this help and exit.help
-?, --helpDisplay this help and exit.help
-t, --tmpdir pathPath for temporary files.help
-s, --silentOnly print errors.help
-v, --verbosePrint more information.help
-V, --versionPrint version and exit.help
-w, --waitWait if table is locked.help
-c, --checkCheck table for errors.help
-e, --extend-checkCheck the table VERY thoroughly.help
-F, --fastCheck only tables that haven't been closed properly.help
-C, --check-only-changedCheck only tables that have changed since last check.help
-f, --forceRestart with '-r' if there are any errors in the table.help
-i, --informationPrint statistics information about table that is checked.help
-m, --medium-checkFaster than extend-check, but only finds 99.99% of all errors.help
-U--update-state Mark tables as crashed if you find any errors.help
-T, --read-onlyDon't mark table as checked.help
-B, --backupMake a backup of the .MYD file as 'filename-time.BAK'.help
--correct-checksumCorrect checksum information for table.help
-D, --data-file-length #Max length of data file (when recreating data file when it's full).help
-k, --keys-used #Tell MyISAM to update only some specific keys.help
--create-missing-keysCreate missing keys.help
--max-record-length #Skip rows bigger than this if myisamchk can't allocate memory to hold it.help
-r, --recoverCan fix almost anything except unique keys that aren't unique.help
-n, --sort-recoverForces recovering with sorting even if the temporary file would be very big.help
-p, --parallel-recoverUses the same technique as '-r' and '-n', but creates all the keys in parallel, in different threads.help
-o, --safe-recoverUses old recovery method;help
--character-sets-dir ...Directory where character sets are.help
--set-collation nameChange the collation used by the index.help
-q, --quickFaster repair by not modifying the data file.help
-u, --unpackUnpack file packed with myisampack.help
-a, --analyzeAnalyze distribution of keys.help
-d, --descriptionPrints some information about table.help
-A, --set-auto-increment valueForce auto_increment to start at this or higher value If no value is given, then sets the next auto_increment value to the highest used value for the auto key + 1.help
-S, --sort-indexSort index blocks.help
-R, --sort-records #Sort records according to an index.help
-b--block-search=# Find a record, a block at given offset belongs to.help
--print-defaultsPrint the program argument list and exit.help
--no-defaultsDon't read default options from any option file.help
--defaults-file #Only read default options from the given file #.help
--defaults-extra-file #Read this file after the global files are read.help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.