DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(mysql.info.gz) myisamchk syntax

Info Catalog (mysql.info.gz) Table maintenance (mysql.info.gz) Table maintenance (mysql.info.gz) myisamchk general options
 
 5.7.3.1 `myisamchk' Invocation Syntax
 .....................................
 
 Invoke `myisamchk' like this:
 
      shell> myisamchk [OPTIONS] TBL_NAME
 
 The OPTIONS specify what you want `myisamchk' to do.  They are
 described in the following sections.  You can also get a list of
 options by invoking `myisamchk --help'.
 
 With no options, `myisamchk' simply checks your table as the default
 operation.  To get more information or to tell `myisamchk' to take
 corrective action, specify options as described in the following
 discussion.
 
 TBL_NAME is the database table you want to check or repair.  If you run
 `myisamchk' somewhere other than in the database directory, you must
 specify the path to the database directory, because `myisamchk' has no
 idea where the database is located.  In fact, `myisamchk' doesn't
 actually care whether the files you are working on are located in a
 database directory. You can copy the files that correspond to a
 database table into some other location and perform recovery operations
 on them there.
 
 You can name several tables on the `myisamchk' command line if you
 wish.  You can also specify a table by naming its index file (the file
 with the `.MYI' suffix). This allows you to specify all tables in a
 directory by using the pattern `*.MYI'.  For example, if you are in a
 database directory, you can check all the `MyISAM' tables in that
 directory like this:
 
      shell> myisamchk *.MYI
 
 If you are not in the database directory, you can check all the tables
 there by specifying the path to the directory:
 
      shell> myisamchk /path/to/database_dir/*.MYI
 
 You can even check all tables in all databases by specifying a wildcard
 with the path to the MySQL data directory:
 
      shell> myisamchk /path/to/datadir/*/*.MYI
 
 The recommended way to quickly check all `MyISAM' and `ISAM' tables is:
 
      shell> myisamchk --silent --fast /path/to/datadir/*/*.MYI
      shell> isamchk --silent /path/to/datadir/*/*.ISM
 
 If you want to check all `MyISAM' and `ISAM' tables and repair any that
 are corrupted, you can use the following commands:
 
      shell> myisamchk --silent --force --fast --update-state \
                -O key_buffer=64M -O sort_buffer=64M \
                -O read_buffer=1M -O write_buffer=1M \
                /path/to/datadir/*/*.MYI
      shell> isamchk --silent --force -O key_buffer=64M \
                -O sort_buffer=64M -O read_buffer=1M -O write_buffer=1M \
                /path/to/datadir/*/*.ISM
 
 These commands assume that you have more than 64MB free.  For more
 information about memory allocation with `myisamchk', see 
 myisamchk memory.
 
 You must ensure that no other program is using the tables while you are
 running `myisamchk'.  Otherwise, when you run `myisamchk', it may
 display the following error message:
 
      warning: clients are using or haven't closed the table properly
 
 This means that you are trying to check a table that has been updated by
 another program (such as the `mysqld' server) that hasn't yet closed
 the file or that has died without closing the file properly.
 
 If `mysqld' is running, you must force it to flush any table
 modifications that are still buffered in memory by using `FLUSH
 TABLES'. You should then ensure that no one is using the tables while
 you are running `myisamchk'.  The easiest way to avoid this problem is
 to use `CHECK TABLE' instead of `myisamchk' to check tables.
 
Info Catalog (mysql.info.gz) Table maintenance (mysql.info.gz) Table maintenance (mysql.info.gz) myisamchk general options
automatically generated byinfo2html