Author: paul
Date: 2006-01-29 15:16:38 +0100 (Sun, 29 Jan 2006)
New Revision: 1102
Log:
r6852@frost: paul | 2006-01-29 07:47:06 -0600
General revisions.
Modified:
trunk/
trunk/refman-4.1/database-administration.xml
trunk/refman-5.0/database-administration.xml
trunk/refman-5.1/database-administration.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:6847
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:2588
+ b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:6852
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:2588
Modified: trunk/refman-4.1/database-administration.xml
===================================================================
--- trunk/refman-4.1/database-administration.xml 2006-01-29 13:55:07 UTC (rev 1101)
+++ trunk/refman-4.1/database-administration.xml 2006-01-29 14:16:38 UTC (rev 1102)
@@ -17065,12 +17065,11 @@
<title>&title-table-maintenance;</title>
<para>
- The following sections discuss how to use
- <command>myisamchk</command> to check or repair
- <literal>MyISAM</literal> tables (tables that have
- <filename>.MYD</filename> and <filename>.MYI</filename> files
- for storing data and indexes). The same concepts apply to using
- <command>isamchk</command> to check or repair
+ This section discusses how to use <command>myisamchk</command>
+ to check or repair <literal>MyISAM</literal> tables (tables that
+ have <filename>.MYD</filename> and <filename>.MYI</filename>
+ files for storing data and indexes). The same concepts apply to
+ using <command>isamchk</command> to check or repair
<literal>ISAM</literal> tables (tables that have
<filename>.ISD</filename> and <filename>.ISM</filename> files
for storing data and indexes). For general
@@ -17079,28 +17078,25 @@
</para>
<para>
- You can use the <command>myisamchk</command> utility to get
- information about your database tables or to check, repair, or
- optimize them. The following sections describe how to invoke
- <command>myisamchk</command> (including a description of its
- options), how to set up a table maintenance schedule, and how to
- use <command>myisamchk</command> to perform its various
- functions.
+ You can use <command>myisamchk</command> to get information
+ about your database tables or to check, repair, or optimize
+ them. The following sections describe how to perform these
+ operations and how to set up a table maintenance schedule.
</para>
<para>
Even though table repair with <command>myisamchk</command> is
quite secure, it is always a good idea to make a backup
- <emphasis>before</emphasis> doing a repair (or any maintenance
- operation that could make a lot of changes to a table)
+ <emphasis>before</emphasis> doing a repair or any maintenance
+ operation that could make a lot of changes to a table
</para>
<para>
<command>myisamchk</command> operations that affect indexes can
cause <literal>FULLTEXT</literal> indexes to be rebuilt with
full-text parameters that are incompatible with the values used
- by the MySQL server. To avoid this problem, read the
- instructions in <xref linkend="myisamchk-general-options"/>.
+ by the MySQL server. To avoid this problem, follow the
+ guidelines in <xref linkend="myisamchk-general-options"/>.
</para>
<para>
@@ -17138,23 +17134,19 @@
<para>
These statements were introduced in different versions, but all
- are available from MySQL 3.23.14 on. See
+ are available from MySQL 3.23.14 on. These statements can be
+ used directly or by means of the <command>mysqlcheck</command>
+ client program. One advantage of these statements over
+ <command>myisamchk</command> is that the server does all the
+ work. With <command>myisamchk</command>, you must make sure that
+ the server does not use the tables at the same time so that
+ there is no unwanted interaction between
+ <command>myisamchk</command> and the server. See
<xref linkend="analyze-table"/>, <xref linkend="check-table"/>,
<xref linkend="optimize-table"/>, and
- <xref linkend="repair-table"/>. The statements can be used
- directly, or by means of the <command>mysqlcheck</command>
- client program, which provides a command-line interface to them.
+ <xref linkend="repair-table"/>.
</para>
- <para>
- One advantage of these statements over
- <command>myisamchk</command> is that the server does all the
- work. With <command>myisamchk</command>, you must make sure that
- the server does not use the tables at the same time. Otherwise,
- there can be unwanted interaction between
- <command>myisamchk</command> and the server.
- </para>
-
<section id="crash-recovery">
<title>&title-crash-recovery;</title>
@@ -17184,27 +17176,40 @@
</remark>
<para>
+ This section describes how to check for and deal with data
+ corruption in MySQL databases. If your tables become corrupted
+ frequently, you should try to find the reason why. See
+ <xref linkend="crashing"/>.
+ </para>
+
+ <para>
+ For an explanation of how <literal>MyISAM</literal> tables can
+ become corrupted, see <xref linkend="myisam-table-problems"/>.
+ </para>
+
+ <para>
If you run <command>mysqld</command> with external locking
disabled (which is the default as of MySQL 4.0), you cannot
reliably use <command>myisamchk</command> to check a table
when <command>mysqld</command> is using the same table. If you
- can be sure that no one is accessing the tables through
+ can be certain that no one will access the tables through
<command>mysqld</command> while you run
- <command>myisamchk</command>, you only have to do
+ <command>myisamchk</command>, you only have to execute
<command>mysqladmin flush-tables</command> before you start
- checking the tables. If you cannot guarantee this, then you
- must stop <command>mysqld</command> while you check the
- tables. If you run <command>myisamchk</command> while
- <command>mysqld</command> is updating the tables, you may get
- a warning that a table is corrupt even when it is not.
+ checking the tables. If you cannot guarantee this, you must
+ stop <command>mysqld</command> while you check the tables. If
+ you run <command>myisamchk</command> to check tables that
+ <command>mysqld</command> is updating at the same time, you
+ may get a warning that a table is corrupt even when it is not.
</para>
<para>
If the server is run with external locking enabled, you can
use <command>myisamchk</command> to check tables at any time.
- While you do this, all clients that try to update the table
- wait until <command>myisamchk</command> is ready before
- continuing.
+ In this case, if the server tries to update a table that
+ <command>myisamchk</command> is using, the server will wait
+ for <command>myisamchk</command> to finish before it
+ continues.
</para>
<para>
@@ -17220,18 +17225,6 @@
</para>
<para>
- This section describes how to check for and deal with data
- corruption in MySQL databases. If your tables become corrupted
- frequently, you should try to find the reason why. See
- <xref linkend="crashing"/>.
- </para>
-
- <para>
- For an explanation of how <literal>MyISAM</literal> tables can
- become corrupted, see <xref linkend="myisam-table-problems"/>.
- </para>
-
- <para>
When performing crash recovery, it is important to understand
that each <literal>MyISAM</literal> table
<replaceable>tbl_name</replaceable> in a database corresponds
@@ -17277,7 +17270,7 @@
you use <option>--quick</option>, <command>myisamchk</command>
does not create a temporary <filename>.MYD</filename> file,
but instead assumes that the <filename>.MYD</filename> file is
- correct and only generates a new index file without touching
+ correct and generates only a new index file without touching
the <filename>.MYD</filename> file. This is safe, because
<command>myisamchk</command> automatically detects whether the
<filename>.MYD</filename> file is corrupt and aborts the
@@ -17289,8 +17282,8 @@
them by modifying the <filename>.MYD</filename> file. Normally
the use of two <option>--quick</option> options is useful only
if you have too little free disk space to perform a normal
- repair. In this case, you should at least make a backup before
- running <command>myisamchk</command>.
+ repair. In this case, you should at least make a backup of the
+ table before running <command>myisamchk</command>.
</para>
</section>
@@ -17332,9 +17325,8 @@
corruption that involves <emphasis>only</emphasis> the
data file (which is very unusual). If you want to check a
table, you should normally run
- <command>myisamchk</command> without options or with
- either the <option>-s</option> or
- <option>--silent</option> option.
+ <command>myisamchk</command> without options or with the
+ <option>-s</option> (silent) option.
</para>
</listitem>
@@ -17347,9 +17339,9 @@
<para>
This finds 99.999% of all errors. It first checks all
index entries for errors and then reads through all rows.
- It calculates a checksum for all keys in the rows and
- verifies that the checksum matches the checksum for the
- keys in the index tree.
+ It calculates a checksum for all key values in the rows
+ and verifies that the checksum matches the checksum for
+ the keys in the index tree.
</para>
</listitem>
@@ -17367,10 +17359,9 @@
long time for a large table that has many indexes.
Normally, <command>myisamchk</command> stops after the
first error it finds. If you want to obtain more
- information, you can add the <option>--verbose</option>
- (<option>-v</option>) option. This causes
- <command>myisamchk</command> to keep going, up through a
- maximum of 20 errors.
+ information, you can add the <option>-v</option> (verbose)
+ option. This causes <command>myisamchk</command> to keep
+ going, up through a maximum of 20 errors.
</para>
</listitem>
@@ -17381,18 +17372,19 @@
</para>
<para>
- Like the previous command, but the <option>-i</option>
- option tells <command>myisamchk</command> to print
- additional statistical information.
+ This is like the previous command, but the
+ <option>-i</option> option tells
+ <command>myisamchk</command> to print additional
+ statistical information.
</para>
</listitem>
</itemizedlist>
<para>
- In most cases, a simple <command>myisamchk</command> with no
- arguments other than the table name is sufficient to check a
- table.
+ In most cases, a simple <command>myisamchk</command> command
+ with no arguments other than the table name is sufficient to
+ check a table.
</para>
</section>
@@ -17475,7 +17467,7 @@
</itemizedlist>
<para>
- To get more information about the error you can run
+ To get more information about the error, run
<command>perror</command> <replaceable>nnn</replaceable>,
where <replaceable>nnn</replaceable> is the error number. The
following example shows how to use <command>perror</command>
@@ -17499,7 +17491,7 @@
<para>
Note that error 135 (no more room in record file) and error
136 (no more room in index file) are not errors that can be
- fixed by a simple repair. In this case, you have to use
+ fixed by a simple repair. In this case, you must use
<literal>ALTER TABLE</literal> to increase the
<literal>MAX_ROWS</literal> and
<literal>AVG_ROW_LENGTH</literal> table option values:
@@ -17511,7 +17503,7 @@
<para>
If you do not know the current table option values, use
- <literal>SHOW CREATE TABLE tbl_name</literal>.
+ <literal>SHOW CREATE TABLE</literal>.
</para>
<para>
@@ -17531,16 +17523,16 @@
</para>
<para>
- The options that you can use for table maintenance with
- <command>myisamchk</command> and <command>isamchk</command>
- are described in <xref linkend="myisamchk"/>.
+ This section is for the cases where a table check fails (such
+ as those described in <xref linkend="check"/>), or you want to
+ use the extended features that <command>myisamchk</command>
+ provides.
</para>
<para>
- The following section is for the cases where the above command
- fails or if you want to use the extended features that
+ The options that you can use for table maintenance with
<command>myisamchk</command> and <command>isamchk</command>
- provide.
+ are described in <xref linkend="myisamchk"/>.
</para>
<para>
@@ -17549,8 +17541,8 @@
that when you do <command>mysqladmin shutdown</command> on a
remote server, the <command>mysqld</command> server is still
alive for a while after <command>mysqladmin</command> returns,
- until all statement-processing has stopped and all keys have
- been flushed to disk.
+ until all statement-processing has stopped and all index
+ changes have been flushed to disk.
</para>
<para>
@@ -17567,7 +17559,8 @@
<para>
If the <command>mysqld</command> server is stopped, you should
use the <option>--update-state</option> option to tell
- <command>myisamchk</command> to mark the table as 'checked'.
+ <command>myisamchk</command> to mark the table as
+ <quote>checked.</quote>
</para>
<para>
@@ -17577,9 +17570,9 @@
</para>
<para>
- If you get strange errors when checking (such as <literal>out
- of memory</literal>), or if <command>myisamchk</command>
- crashes, go to Stage 3.
+ If you get unexpected errors when checking (such as
+ <literal>out of memory</literal> errors), or if
+ <command>myisamchk</command> crashes, go to Stage 3.
</para>
<para>
@@ -17587,15 +17580,6 @@
</para>
<para>
- Note: If you want a repair operation to go much faster, you
- should set the values of the
- <literal>sort_buffer_size</literal> and
- <literal>key_buffer_size</literal> variables each to about 25%
- of your available memory when running
- <command>myisamchk</command> or <command>isamchk</command>.
- </para>
-
- <para>
First, try <command>myisamchk -r -q
<replaceable>tbl_name</replaceable></command> (<option>-r
-q</option> means <quote>quick recovery mode</quote>). This
@@ -17639,12 +17623,21 @@
</orderedlist>
<para>
- If you get strange errors when checking (such as <literal>out
- of memory</literal>), or if <command>myisamchk</command>
- crashes, go to Stage 3.
+ Note: If you want a repair operation to go much faster, you
+ should set the values of the
+ <literal>sort_buffer_size</literal> and
+ <literal>key_buffer_size</literal> variables each to about 25%
+ of your available memory when running
+ <command>myisamchk</command> or <command>isamchk</command>.
</para>
<para>
+ If you get unexpected errors when repairing (such as
+ <literal>out of memory</literal> errors), or if
+ <command>myisamchk</command> crashes, go to Stage 3.
+ </para>
+
+ <para>
<emphasis role="bold">Stage 3: Difficult repair</emphasis>
</para>
@@ -17686,8 +17679,8 @@
<listitem>
<para>
Copy the old data file back onto the newly created data
- file. (Don't just move the old file back onto the new
- file; you want to retain a copy in case something goes
+ file. (Do not just move the old file back onto the new
+ file. You want to retain a copy in case something goes
wrong.)
</para>
</listitem>
@@ -17700,9 +17693,13 @@
</para>
<para>
- As of MySQL 4.0.2, you can also use <literal>REPAIR TABLE
- <replaceable>tbl_name</replaceable> USE_FRM</literal>, which
- performs the whole procedure automatically.
+ As of MySQL 4.0.2, you can also use the <literal>REPAIR TABLE
+ <replaceable>tbl_name</replaceable> USE_FRM</literal> SQL
+ statement, which performs the whole procedure automatically.
+ There is also no possibility of unwanted interaction between a
+ utility and the server, because the server does all the work
+ when you use <literal>REPAIR TABLE</literal>. See
+ <xref linkend="repair-table"/>.
</para>
<para>
@@ -17732,7 +17729,7 @@
<para>
If you do not have a backup but know exactly how the table
was created, create a copy of the table in another
- database. Remove the new data file, then move the
+ database. Remove the new data file, and then move the
<filename>.frm</filename> description and
<filename>.MYI</filename> index files from the other
database to your crashed database. This gives you new
@@ -17761,8 +17758,8 @@
</indexterm>
<para>
- To coalesce fragmented rows and eliminate wasted space
- resulting from deleting or updating rows, run
+ To coalesce fragmented rows and eliminate wasted space that
+ results from deleting or updating rows, run
<command>myisamchk</command> in recovery mode:
</para>
@@ -17771,19 +17768,19 @@
</programlisting>
<para>
- You can optimize a table in the same way by using the SQL
- <literal>OPTIMIZE TABLE</literal> statement. <literal>OPTIMIZE
- TABLE</literal> does a repair of the table and a key analysis,
- and also sorts the index tree to give faster key lookups.
- There is also no possibility of unwanted interaction between a
- utility and the server, because the server does all the work
- when you use <literal>OPTIMIZE TABLE</literal>. See
- <xref linkend="optimize-table"/>.
+ You can optimize a table in the same way by using the
+ <literal>OPTIMIZE TABLE</literal> SQL statement.
+ <literal>OPTIMIZE TABLE</literal> does a table repair and a
+ key analysis, and also sorts the index tree so that key
+ lookups are faster. There is also no possibility of unwanted
+ interaction between a utility and the server, because the
+ server does all the work when you use <literal>OPTIMIZE
+ TABLE</literal>. See <xref linkend="optimize-table"/>.
</para>
<para>
- <command>myisamchk</command> also has a number of other
- options you can use to improve the performance of a table:
+ <command>myisamchk</command> has a number of other options
+ that you can use to improve the performance of a table:
</para>
<itemizedlist>
@@ -18410,7 +18407,7 @@
<para>
Whether a key value can exist multiple times in the
index. Possible values are <literal>unique</literal>
- or <literal>multip</literal>. (multiple).
+ or <literal>multip.</literal> (multiple).
</para>
</listitem>
Modified: trunk/refman-5.0/database-administration.xml
===================================================================
--- trunk/refman-5.0/database-administration.xml 2006-01-29 13:55:07 UTC (rev 1101)
+++ trunk/refman-5.0/database-administration.xml 2006-01-29 14:16:38 UTC (rev 1102)
@@ -19324,28 +19324,25 @@
</para>
<para>
- You can use the <command>myisamchk</command> utility to get
- information about your database tables or to check, repair, or
- optimize them. The following sections describe how to invoke
- <command>myisamchk</command> (including a description of its
- options), how to set up a table maintenance schedule, and how to
- use <command>myisamchk</command> to perform its various
- functions.
+ You can use <command>myisamchk</command> to get information
+ about your database tables or to check, repair, or optimize
+ them. The following sections describe how to perform these
+ operations and how to set up a table maintenance schedule.
</para>
<para>
Even though table repair with <command>myisamchk</command> is
quite secure, it is always a good idea to make a backup
- <emphasis>before</emphasis> doing a repair (or any maintenance
- operation that could make a lot of changes to a table)
+ <emphasis>before</emphasis> doing a repair or any maintenance
+ operation that could make a lot of changes to a table
</para>
<para>
<command>myisamchk</command> operations that affect indexes can
cause <literal>FULLTEXT</literal> indexes to be rebuilt with
full-text parameters that are incompatible with the values used
- by the MySQL server. To avoid this problem, read the
- instructions in <xref linkend="myisamchk-general-options"/>.
+ by the MySQL server. To avoid this problem, follow the
+ guidelines in <xref linkend="myisamchk-general-options"/>.
</para>
<para>
@@ -19382,20 +19379,18 @@
</itemizedlist>
<para>
- These statements can be used directly, or by means of the
- <command>mysqlcheck</command> client program, which provides a
- command-line interface to them.
+ These statements can be used directly or by means of the
+ <command>mysqlcheck</command> client program. One advantage of
+ these statements over <command>myisamchk</command> is that the
+ server does all the work. With <command>myisamchk</command>, you
+ must make sure that the server does not use the tables at the
+ same time so that there is no unwanted interaction between
+ <command>myisamchk</command> and the server. See
+ <xref linkend="analyze-table"/>, <xref linkend="check-table"/>,
+ <xref linkend="optimize-table"/>, and
+ <xref linkend="repair-table"/>.
</para>
- <para>
- One advantage of these statements over
- <command>myisamchk</command> is that the server does all the
- work. With <command>myisamchk</command>, you must make sure that
- the server does not use the tables at the same time. Otherwise,
- there can be unwanted interaction between
- <command>myisamchk</command> and the server.
- </para>
-
<section id="crash-recovery">
<title>&title-crash-recovery;</title>
@@ -19425,27 +19420,40 @@
</remark>
<para>
+ This section describes how to check for and deal with data
+ corruption in MySQL databases. If your tables become corrupted
+ frequently, you should try to find the reason why. See
+ <xref linkend="crashing"/>.
+ </para>
+
+ <para>
+ For an explanation of how <literal>MyISAM</literal> tables can
+ become corrupted, see <xref linkend="myisam-table-problems"/>.
+ </para>
+
+ <para>
If you run <command>mysqld</command> with external locking
disabled (which is the default as of MySQL 4.0), you cannot
reliably use <command>myisamchk</command> to check a table
when <command>mysqld</command> is using the same table. If you
- can be sure that no one is accessing the tables through
+ can be certain that no one will access the tables through
<command>mysqld</command> while you run
- <command>myisamchk</command>, you only have to do
+ <command>myisamchk</command>, you only have to execute
<command>mysqladmin flush-tables</command> before you start
- checking the tables. If you cannot guarantee this, then you
- must stop <command>mysqld</command> while you check the
- tables. If you run <command>myisamchk</command> while
- <command>mysqld</command> is updating the tables, you may get
- a warning that a table is corrupt even when it is not.
+ checking the tables. If you cannot guarantee this, you must
+ stop <command>mysqld</command> while you check the tables. If
+ you run <command>myisamchk</command> to check tables that
+ <command>mysqld</command> is updating at the same time, you
+ may get a warning that a table is corrupt even when it is not.
</para>
<para>
If the server is run with external locking enabled, you can
use <command>myisamchk</command> to check tables at any time.
- While you do this, all clients that try to update the table
- wait until <command>myisamchk</command> is ready before
- continuing.
+ In this case, if the server tries to update a table that
+ <command>myisamchk</command> is using, the server will wait
+ for <command>myisamchk</command> to finish before it
+ continues.
</para>
<para>
@@ -19461,18 +19469,6 @@
</para>
<para>
- This section describes how to check for and deal with data
- corruption in MySQL databases. If your tables become corrupted
- frequently, you should try to find the reason why. See
- <xref linkend="crashing"/>.
- </para>
-
- <para>
- For an explanation of how <literal>MyISAM</literal> tables can
- become corrupted, see <xref linkend="myisam-table-problems"/>.
- </para>
-
- <para>
When performing crash recovery, it is important to understand
that each <literal>MyISAM</literal> table
<replaceable>tbl_name</replaceable> in a database corresponds
@@ -19518,7 +19514,7 @@
you use <option>--quick</option>, <command>myisamchk</command>
does not create a temporary <filename>.MYD</filename> file,
but instead assumes that the <filename>.MYD</filename> file is
- correct and only generates a new index file without touching
+ correct and generates only a new index file without touching
the <filename>.MYD</filename> file. This is safe, because
<command>myisamchk</command> automatically detects whether the
<filename>.MYD</filename> file is corrupt and aborts the
@@ -19530,8 +19526,8 @@
them by modifying the <filename>.MYD</filename> file. Normally
the use of two <option>--quick</option> options is useful only
if you have too little free disk space to perform a normal
- repair. In this case, you should at least make a backup before
- running <command>myisamchk</command>.
+ repair. In this case, you should at least make a backup of the
+ table before running <command>myisamchk</command>.
</para>
</section>
@@ -19573,9 +19569,8 @@
corruption that involves <emphasis>only</emphasis> the
data file (which is very unusual). If you want to check a
table, you should normally run
- <command>myisamchk</command> without options or with
- either the <option>-s</option> or
- <option>--silent</option> option.
+ <command>myisamchk</command> without options or with the
+ <option>-s</option> (silent) option.
</para>
</listitem>
@@ -19588,9 +19583,9 @@
<para>
This finds 99.999% of all errors. It first checks all
index entries for errors and then reads through all rows.
- It calculates a checksum for all keys in the rows and
- verifies that the checksum matches the checksum for the
- keys in the index tree.
+ It calculates a checksum for all key values in the rows
+ and verifies that the checksum matches the checksum for
+ the keys in the index tree.
</para>
</listitem>
@@ -19608,10 +19603,9 @@
long time for a large table that has many indexes.
Normally, <command>myisamchk</command> stops after the
first error it finds. If you want to obtain more
- information, you can add the <option>--verbose</option>
- (<option>-v</option>) option. This causes
- <command>myisamchk</command> to keep going, up through a
- maximum of 20 errors.
+ information, you can add the <option>-v</option> (verbose)
+ option. This causes <command>myisamchk</command> to keep
+ going, up through a maximum of 20 errors.
</para>
</listitem>
@@ -19622,18 +19616,19 @@
</para>
<para>
- Like the previous command, but the <option>-i</option>
- option tells <command>myisamchk</command> to print
- additional statistical information.
+ This is like the previous command, but the
+ <option>-i</option> option tells
+ <command>myisamchk</command> to print additional
+ statistical information.
</para>
</listitem>
</itemizedlist>
<para>
- In most cases, a simple <command>myisamchk</command> with no
- arguments other than the table name is sufficient to check a
- table.
+ In most cases, a simple <command>myisamchk</command> command
+ with no arguments other than the table name is sufficient to
+ check a table.
</para>
</section>
@@ -19711,7 +19706,7 @@
</itemizedlist>
<para>
- To get more information about the error you can run
+ To get more information about the error, run
<command>perror</command> <replaceable>nnn</replaceable>,
where <replaceable>nnn</replaceable> is the error number. The
following example shows how to use <command>perror</command>
@@ -19735,7 +19730,7 @@
<para>
Note that error 135 (no more room in record file) and error
136 (no more room in index file) are not errors that can be
- fixed by a simple repair. In this case, you have to use
+ fixed by a simple repair. In this case, you must use
<literal>ALTER TABLE</literal> to increase the
<literal>MAX_ROWS</literal> and
<literal>AVG_ROW_LENGTH</literal> table option values:
@@ -19767,25 +19762,26 @@
</para>
<para>
+ This section is for the cases where a table check fails (such
+ as those described in <xref linkend="check"/>), or you want to
+ use the extended features that <command>myisamchk</command>
+ provides.
+ </para>
+
+ <para>
The options that you can use for table maintenance with
<command>myisamchk</command> are described in
<xref linkend="myisamchk"/>.
</para>
<para>
- The following section is for the cases where the above command
- fails or if you want to use the extended features that
- <command>myisamchk</command>. provides.
- </para>
-
- <para>
If you are going to repair a table from the command line, you
must first stop the <command>mysqld</command> server. Note
that when you do <command>mysqladmin shutdown</command> on a
remote server, the <command>mysqld</command> server is still
alive for a while after <command>mysqladmin</command> returns,
- until all statement-processing has stopped and all keys have
- been flushed to disk.
+ until all statement-processing has stopped and all index
+ changes have been flushed to disk.
</para>
<para>
@@ -19802,7 +19798,8 @@
<para>
If the <command>mysqld</command> server is stopped, you should
use the <option>--update-state</option> option to tell
- <command>myisamchk</command> to mark the table as 'checked'.
+ <command>myisamchk</command> to mark the table as
+ <quote>checked.</quote>
</para>
<para>
@@ -19812,8 +19809,8 @@
</para>
<para>
- If you get strange errors when checking (such as <literal>out
- of memory</literal> errors), or if
+ If you get unexpected errors when checking (such as
+ <literal>out of memory</literal> errors), or if
<command>myisamchk</command> crashes, go to Stage 3.
</para>
@@ -19822,15 +19819,6 @@
</para>
<para>
- Note: If you want a repair operation to go much faster, you
- should set the values of the
- <literal>sort_buffer_size</literal> and
- <literal>key_buffer_size</literal> variables each to about 25%
- of your available memory when running
- <command>myisamchk</command>.
- </para>
-
- <para>
First, try <command>myisamchk -r -q
<replaceable>tbl_name</replaceable></command> (<option>-r
-q</option> means <quote>quick recovery mode</quote>). This
@@ -19874,8 +19862,17 @@
</orderedlist>
<para>
- If you get strange errors when repairing (such as <literal>out
- of memory</literal> errors), or if
+ Note: If you want a repair operation to go much faster, you
+ should set the values of the
+ <literal>sort_buffer_size</literal> and
+ <literal>key_buffer_size</literal> variables each to about 25%
+ of your available memory when running
+ <command>myisamchk</command>.
+ </para>
+
+ <para>
+ If you get unexpected errors when repairing (such as
+ <literal>out of memory</literal> errors), or if
<command>myisamchk</command> crashes, go to Stage 3.
</para>
@@ -19915,8 +19912,8 @@
<listitem>
<para>
Copy the old data file back onto the newly created data
- file. (Don't just move the old file back onto the new
- file; you want to retain a copy in case something goes
+ file. (Do not just move the old file back onto the new
+ file. You want to retain a copy in case something goes
wrong.)
</para>
</listitem>
@@ -19929,9 +19926,13 @@
</para>
<para>
- You can also use <literal>REPAIR TABLE
- <replaceable>tbl_name</replaceable> USE_FRM</literal>, which
- performs the whole procedure automatically.
+ You can also use the <literal>REPAIR TABLE
+ <replaceable>tbl_name</replaceable> USE_FRM</literal> SQL
+ statement, which performs the whole procedure automatically.
+ There is also no possibility of unwanted interaction between a
+ utility and the server, because the server does all the work
+ when you use <literal>REPAIR TABLE</literal>. See
+ <xref linkend="repair-table"/>.
</para>
<para>
@@ -19961,7 +19962,7 @@
<para>
If you do not have a backup but know exactly how the table
was created, create a copy of the table in another
- database. Remove the new data file, then move the
+ database. Remove the new data file, and then move the
<filename>.frm</filename> description and
<filename>.MYI</filename> index files from the other
database to your crashed database. This gives you new
@@ -19990,8 +19991,8 @@
</indexterm>
<para>
- To coalesce fragmented rows and eliminate wasted space
- resulting from deleting or updating rows, run
+ To coalesce fragmented rows and eliminate wasted space that
+ results from deleting or updating rows, run
<command>myisamchk</command> in recovery mode:
</para>
@@ -20000,19 +20001,19 @@
</programlisting>
<para>
- You can optimize a table in the same way by using the SQL
- <literal>OPTIMIZE TABLE</literal> statement. <literal>OPTIMIZE
- TABLE</literal> does a repair of the table and a key analysis,
- and also sorts the index tree to give faster key lookups.
- There is also no possibility of unwanted interaction between a
- utility and the server, because the server does all the work
- when you use <literal>OPTIMIZE TABLE</literal>. See
- <xref linkend="optimize-table"/>.
+ You can optimize a table in the same way by using the
+ <literal>OPTIMIZE TABLE</literal> SQL statement.
+ <literal>OPTIMIZE TABLE</literal> does a table repair and a
+ key analysis, and also sorts the index tree so that key
+ lookups are faster. There is also no possibility of unwanted
+ interaction between a utility and the server, because the
+ server does all the work when you use <literal>OPTIMIZE
+ TABLE</literal>. See <xref linkend="optimize-table"/>.
</para>
<para>
- <command>myisamchk</command> also has a number of other
- options you can use to improve the performance of a table:
+ <command>myisamchk</command> has a number of other options
+ that you can use to improve the performance of a table:
</para>
<itemizedlist>
Modified: trunk/refman-5.1/database-administration.xml
===================================================================
--- trunk/refman-5.1/database-administration.xml 2006-01-29 13:55:07 UTC (rev 1101)
+++ trunk/refman-5.1/database-administration.xml 2006-01-29 14:16:38 UTC (rev 1102)
@@ -19333,28 +19333,25 @@
</para>
<para>
- You can use the <command>myisamchk</command> utility to get
- information about your database tables or to check, repair, or
- optimize them. The following sections describe how to invoke
- <command>myisamchk</command> (including a description of its
- options), how to set up a table maintenance schedule, and how to
- use <command>myisamchk</command> to perform its various
- functions.
+ You can use <command>myisamchk</command> to get information
+ about your database tables or to check, repair, or optimize
+ them. The following sections describe how to perform these
+ operations and how to set up a table maintenance schedule.
</para>
<para>
Even though table repair with <command>myisamchk</command> is
quite secure, it is always a good idea to make a backup
- <emphasis>before</emphasis> doing a repair (or any maintenance
- operation that could make a lot of changes to a table)
+ <emphasis>before</emphasis> doing a repair or any maintenance
+ operation that could make a lot of changes to a table
</para>
<para>
<command>myisamchk</command> operations that affect indexes can
cause <literal>FULLTEXT</literal> indexes to be rebuilt with
full-text parameters that are incompatible with the values used
- by the MySQL server. To avoid this problem, read the
- instructions in <xref linkend="myisamchk-general-options"/>.
+ by the MySQL server. To avoid this problem, follow the
+ guidelines in <xref linkend="myisamchk-general-options"/>.
</para>
<para>
@@ -19391,20 +19388,18 @@
</itemizedlist>
<para>
- These statements can be used directly, or by means of the
- <command>mysqlcheck</command> client program, which provides a
- command-line interface to them.
+ These statements can be used directly or by means of the
+ <command>mysqlcheck</command> client program. One advantage of
+ these statements over <command>myisamchk</command> is that the
+ server does all the work. With <command>myisamchk</command>, you
+ must make sure that the server does not use the tables at the
+ same time so that there is no unwanted interaction between
+ <command>myisamchk</command> and the server. See
+ <xref linkend="analyze-table"/>, <xref linkend="check-table"/>,
+ <xref linkend="optimize-table"/>, and
+ <xref linkend="repair-table"/>.
</para>
- <para>
- One advantage of these statements over
- <command>myisamchk</command> is that the server does all the
- work. With <command>myisamchk</command>, you must make sure that
- the server does not use the tables at the same time. Otherwise,
- there can be unwanted interaction between
- <command>myisamchk</command> and the server.
- </para>
-
<section id="crash-recovery">
<title>&title-crash-recovery;</title>
@@ -19434,27 +19429,40 @@
</remark>
<para>
+ This section describes how to check for and deal with data
+ corruption in MySQL databases. If your tables become corrupted
+ frequently, you should try to find the reason why. See
+ <xref linkend="crashing"/>.
+ </para>
+
+ <para>
+ For an explanation of how <literal>MyISAM</literal> tables can
+ become corrupted, see <xref linkend="myisam-table-problems"/>.
+ </para>
+
+ <para>
If you run <command>mysqld</command> with external locking
disabled (which is the default as of MySQL 4.0), you cannot
reliably use <command>myisamchk</command> to check a table
when <command>mysqld</command> is using the same table. If you
- can be sure that no one is accessing the tables through
+ can be certain that no one will access the tables through
<command>mysqld</command> while you run
- <command>myisamchk</command>, you only have to do
+ <command>myisamchk</command>, you only have to execute
<command>mysqladmin flush-tables</command> before you start
- checking the tables. If you cannot guarantee this, then you
- must stop <command>mysqld</command> while you check the
- tables. If you run <command>myisamchk</command> while
- <command>mysqld</command> is updating the tables, you may get
- a warning that a table is corrupt even when it is not.
+ checking the tables. If you cannot guarantee this, you must
+ stop <command>mysqld</command> while you check the tables. If
+ you run <command>myisamchk</command> to check tables that
+ <command>mysqld</command> is updating at the same time, you
+ may get a warning that a table is corrupt even when it is not.
</para>
<para>
If the server is run with external locking enabled, you can
use <command>myisamchk</command> to check tables at any time.
- While you do this, all clients that try to update the table
- wait until <command>myisamchk</command> is ready before
- continuing.
+ In this case, if the server tries to update a table that
+ <command>myisamchk</command> is using, the server will wait
+ for <command>myisamchk</command> to finish before it
+ continues.
</para>
<para>
@@ -19470,18 +19478,6 @@
</para>
<para>
- This section describes how to check for and deal with data
- corruption in MySQL databases. If your tables become corrupted
- frequently, you should try to find the reason why. See
- <xref linkend="crashing"/>.
- </para>
-
- <para>
- For an explanation of how <literal>MyISAM</literal> tables can
- become corrupted, see <xref linkend="myisam-table-problems"/>.
- </para>
-
- <para>
When performing crash recovery, it is important to understand
that each <literal>MyISAM</literal> table
<replaceable>tbl_name</replaceable> in a database corresponds
@@ -19527,7 +19523,7 @@
you use <option>--quick</option>, <command>myisamchk</command>
does not create a temporary <filename>.MYD</filename> file,
but instead assumes that the <filename>.MYD</filename> file is
- correct and only generates a new index file without touching
+ correct and generates only a new index file without touching
the <filename>.MYD</filename> file. This is safe, because
<command>myisamchk</command> automatically detects whether the
<filename>.MYD</filename> file is corrupt and aborts the
@@ -19539,8 +19535,8 @@
them by modifying the <filename>.MYD</filename> file. Normally
the use of two <option>--quick</option> options is useful only
if you have too little free disk space to perform a normal
- repair. In this case, you should at least make a backup before
- running <command>myisamchk</command>.
+ repair. In this case, you should at least make a backup of the
+ table before running <command>myisamchk</command>.
</para>
</section>
@@ -19582,9 +19578,8 @@
corruption that involves <emphasis>only</emphasis> the
data file (which is very unusual). If you want to check a
table, you should normally run
- <command>myisamchk</command> without options or with
- either the <option>-s</option> or
- <option>--silent</option> option.
+ <command>myisamchk</command> without options or with the
+ <option>-s</option> (silent) option.
</para>
</listitem>
@@ -19597,9 +19592,9 @@
<para>
This finds 99.999% of all errors. It first checks all
index entries for errors and then reads through all rows.
- It calculates a checksum for all keys in the rows and
- verifies that the checksum matches the checksum for the
- keys in the index tree.
+ It calculates a checksum for all key values in the rows
+ and verifies that the checksum matches the checksum for
+ the keys in the index tree.
</para>
</listitem>
@@ -19617,10 +19612,9 @@
long time for a large table that has many indexes.
Normally, <command>myisamchk</command> stops after the
first error it finds. If you want to obtain more
- information, you can add the <option>--verbose</option>
- (<option>-v</option>) option. This causes
- <command>myisamchk</command> to keep going, up through a
- maximum of 20 errors.
+ information, you can add the <option>-v</option> (verbose)
+ option. This causes <command>myisamchk</command> to keep
+ going, up through a maximum of 20 errors.
</para>
</listitem>
@@ -19631,18 +19625,19 @@
</para>
<para>
- Like the previous command, but the <option>-i</option>
- option tells <command>myisamchk</command> to print
- additional statistical information.
+ This is like the previous command, but the
+ <option>-i</option> option tells
+ <command>myisamchk</command> to print additional
+ statistical information.
</para>
</listitem>
</itemizedlist>
<para>
- In most cases, a simple <command>myisamchk</command> with no
- arguments other than the table name is sufficient to check a
- table.
+ In most cases, a simple <command>myisamchk</command> command
+ with no arguments other than the table name is sufficient to
+ check a table.
</para>
</section>
@@ -19720,7 +19715,7 @@
</itemizedlist>
<para>
- To get more information about the error you can run
+ To get more information about the error, run
<command>perror</command> <replaceable>nnn</replaceable>,
where <replaceable>nnn</replaceable> is the error number. The
following example shows how to use <command>perror</command>
@@ -19744,7 +19739,7 @@
<para>
Note that error 135 (no more room in record file) and error
136 (no more room in index file) are not errors that can be
- fixed by a simple repair. In this case, you have to use
+ fixed by a simple repair. In this case, you must use
<literal>ALTER TABLE</literal> to increase the
<literal>MAX_ROWS</literal> and
<literal>AVG_ROW_LENGTH</literal> table option values:
@@ -19776,25 +19771,26 @@
</para>
<para>
+ This section is for the cases where a table check fails (such
+ as those described in <xref linkend="check"/>), or you want to
+ use the extended features that <command>myisamchk</command>
+ provides.
+ </para>
+
+ <para>
The options that you can use for table maintenance with
<command>myisamchk</command> are described in
<xref linkend="myisamchk"/>.
</para>
<para>
- The following section is for the cases where the above command
- fails or if you want to use the extended features that
- <command>myisamchk</command>. provides.
- </para>
-
- <para>
If you are going to repair a table from the command line, you
must first stop the <command>mysqld</command> server. Note
that when you do <command>mysqladmin shutdown</command> on a
remote server, the <command>mysqld</command> server is still
alive for a while after <command>mysqladmin</command> returns,
- until all statement-processing has stopped and all keys have
- been flushed to disk.
+ until all statement-processing has stopped and all index
+ changes have been flushed to disk.
</para>
<para>
@@ -19811,7 +19807,8 @@
<para>
If the <command>mysqld</command> server is stopped, you should
use the <option>--update-state</option> option to tell
- <command>myisamchk</command> to mark the table as 'checked'.
+ <command>myisamchk</command> to mark the table as
+ <quote>checked.</quote>
</para>
<para>
@@ -19821,8 +19818,8 @@
</para>
<para>
- If you get strange errors when checking (such as <literal>out
- of memory</literal> errors), or if
+ If you get unexpected errors when checking (such as
+ <literal>out of memory</literal> errors), or if
<command>myisamchk</command> crashes, go to Stage 3.
</para>
@@ -19831,15 +19828,6 @@
</para>
<para>
- Note: If you want a repair operation to go much faster, you
- should set the values of the
- <literal>sort_buffer_size</literal> and
- <literal>key_buffer_size</literal> variables each to about 25%
- of your available memory when running
- <command>myisamchk</command>.
- </para>
-
- <para>
First, try <command>myisamchk -r -q
<replaceable>tbl_name</replaceable></command> (<option>-r
-q</option> means <quote>quick recovery mode</quote>). This
@@ -19883,8 +19871,17 @@
</orderedlist>
<para>
- If you get strange errors when repairing (such as <literal>out
- of memory</literal> errors), or if
+ Note: If you want a repair operation to go much faster, you
+ should set the values of the
+ <literal>sort_buffer_size</literal> and
+ <literal>key_buffer_size</literal> variables each to about 25%
+ of your available memory when running
+ <command>myisamchk</command>.
+ </para>
+
+ <para>
+ If you get unexpected errors when repairing (such as
+ <literal>out of memory</literal> errors), or if
<command>myisamchk</command> crashes, go to Stage 3.
</para>
@@ -19924,8 +19921,8 @@
<listitem>
<para>
Copy the old data file back onto the newly created data
- file. (Don't just move the old file back onto the new
- file; you want to retain a copy in case something goes
+ file. (Do not just move the old file back onto the new
+ file. You want to retain a copy in case something goes
wrong.)
</para>
</listitem>
@@ -19938,9 +19935,13 @@
</para>
<para>
- You can also use <literal>REPAIR TABLE
- <replaceable>tbl_name</replaceable> USE_FRM</literal>, which
- performs the whole procedure automatically.
+ You can also use the <literal>REPAIR TABLE
+ <replaceable>tbl_name</replaceable> USE_FRM</literal> SQL
+ statement, which performs the whole procedure automatically.
+ There is also no possibility of unwanted interaction between a
+ utility and the server, because the server does all the work
+ when you use <literal>REPAIR TABLE</literal>. See
+ <xref linkend="repair-table"/>.
</para>
<para>
@@ -19970,7 +19971,7 @@
<para>
If you do not have a backup but know exactly how the table
was created, create a copy of the table in another
- database. Remove the new data file, then move the
+ database. Remove the new data file, and then move the
<filename>.frm</filename> description and
<filename>.MYI</filename> index files from the other
database to your crashed database. This gives you new
@@ -19999,8 +20000,8 @@
</indexterm>
<para>
- To coalesce fragmented rows and eliminate wasted space
- resulting from deleting or updating rows, run
+ To coalesce fragmented rows and eliminate wasted space that
+ results from deleting or updating rows, run
<command>myisamchk</command> in recovery mode:
</para>
@@ -20009,19 +20010,19 @@
</programlisting>
<para>
- You can optimize a table in the same way by using the SQL
- <literal>OPTIMIZE TABLE</literal> statement. <literal>OPTIMIZE
- TABLE</literal> does a repair of the table and a key analysis,
- and also sorts the index tree to give faster key lookups.
- There is also no possibility of unwanted interaction between a
- utility and the server, because the server does all the work
- when you use <literal>OPTIMIZE TABLE</literal>. See
- <xref linkend="optimize-table"/>.
+ You can optimize a table in the same way by using the
+ <literal>OPTIMIZE TABLE</literal> SQL statement.
+ <literal>OPTIMIZE TABLE</literal> does a table repair and a
+ key analysis, and also sorts the index tree so that key
+ lookups are faster. There is also no possibility of unwanted
+ interaction between a utility and the server, because the
+ server does all the work when you use <literal>OPTIMIZE
+ TABLE</literal>. See <xref linkend="optimize-table"/>.
</para>
<para>
- <command>myisamchk</command> also has a number of other
- options you can use to improve the performance of a table:
+ <command>myisamchk</command> has a number of other options
+ that you can use to improve the performance of a table:
</para>
<itemizedlist>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r1102 - in trunk: . refman-4.1 refman-5.0 refman-5.1 | paul | 29 Jan |