Copyright (C) 2000-2012 |
GNU Info (mysql.info)myisamchk syntax`myisamchk' Invocation Syntax ............................. `myisamchk' is invoked like this: shell> myisamchk [options] tbl_name The `options' specify what you want `myisamchk' to do. They are described below. (You can also get a list of options by invoking `myisamchk --help'.) With no options, `myisamchk' simply checks your table. To get more information or to tell `myisamchk' to take corrective action, specify options as described below and in the following sections. `tbl_name' is the database table you want to check/repair. If you run `myisamchk' somewhere other than in the database directory, you must specify the path to the file, because `myisamchk' has no idea where your database is located. Actually, `myisamchk' doesn't care whether or not the files you are working on are located in a database directory; you can copy the files that correspond to a database table into another 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 name as an index file name (with the `.MYI' suffix), which 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 tables in the 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 wild card with the path to the MySQL data directory: shell> myisamchk /path/to/datadir/*/*.MYI The recommended way to quickly check all tables is: myisamchk --silent --fast /path/to/datadir/*/*.MYI isamchk --silent /path/to/datadir/*/*.ISM If you want to check all tables and repair all tables that are corrupted, you can use the following line: 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 isamchk --silent --force -O key_buffer=64M -O sort_buffer=64M -O read_buffer=1M -O write_buffer=1M /path/to/datadir/*/*.ISM The above assumes that you have more than 64 M free. Note that if you get an error like: myisamchk: warning: 1 clients is using or hasn't closed the table properly This means that you are trying to check a table that has been updated by the another program (like the `mysqld' server) that hasn't yet closed the file or that has died without closing the file properly. If you `mysqld' is running, you must force a sync/close of all tables with `FLUSH TABLES' and ensure that no one is using the tables while you are running `myisamchk'. In MySQL Version 3.23 the easiest way to avoid this problem is to use `CHECK TABLE' instead of `myisamchk' to check tables.
automatically generated by info2www version 1.2.2.9 |