Author: paul
Date: 2006-01-24 04:56:09 +0100 (Tue, 24 Jan 2006)
New Revision: 1010
Log:
r6615@frost: paul | 2006-01-23 21:47:08 -0600
General revisions.
Modified:
trunk/
trunk/refman-4.1/client-utility-programs.xml
trunk/refman-4.1/database-administration.xml
trunk/refman-4.1/problems.xml
trunk/refman-4.1/using-mysql-programs.xml
trunk/refman-5.0/client-utility-programs.xml
trunk/refman-5.0/database-administration.xml
trunk/refman-5.0/problems.xml
trunk/refman-5.0/using-mysql-programs.xml
trunk/refman-5.1/client-utility-programs.xml
trunk/refman-5.1/database-administration.xml
trunk/refman-5.1/problems.xml
trunk/refman-5.1/using-mysql-programs.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:6612
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:2449
+ b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:6615
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:2449
Modified: trunk/refman-4.1/client-utility-programs.xml
===================================================================
--- trunk/refman-4.1/client-utility-programs.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-4.1/client-utility-programs.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -563,8 +563,8 @@
</para>
<programlisting>
-shell> <userinput>myisamchk --silent --fast /path/to/datadir/*/*.MYI</userinput>
-shell> <userinput>isamchk --silent /path/to/datadir/*/*.ISM</userinput>
+shell> <userinput>myisamchk --silent --fast <replaceable>/path/to/datadir</replaceable>/*/*.MYI</userinput>
+shell> <userinput>isamchk --silent <replaceable>/path/to/datadir</replaceable>/*/*.ISM</userinput>
</programlisting>
<para>
@@ -575,12 +575,12 @@
<programlisting>
shell> <userinput>myisamchk --silent --force --fast --update-state \</userinput>
- <userinput>-O key_buffer=64M -O sort_buffer=64M \</userinput>
- <userinput>-O read_buffer=1M -O write_buffer=1M \</userinput>
- <userinput>/path/to/datadir/*/*.MYI</userinput>
-shell> <userinput>isamchk --silent --force -O key_buffer=64M \</userinput>
- <userinput>-O sort_buffer=64M -O read_buffer=1M -O write_buffer=1M \</userinput>
- <userinput>/path/to/datadir/*/*.ISM</userinput>
+ <userinput>--key_buffer_size=64M --sort_buffer_size=64M \</userinput>
+ <userinput>--read_buffer_size=1M --write_buffer_size=1M \</userinput>
+ <userinput><replaceable>/path/to/datadir</replaceable>/*/*.MYI</userinput>
+shell> <userinput>isamchk --silent --force --key_buffer_size=64M \</userinput>
+ <userinput>--sort_buffer_size=64M --read_buffer_size=1M --write_buffer_size=1M \</userinput>
+ <userinput><replaceable>/path/to/datadir</replaceable>/*/*.ISM</userinput>
</programlisting>
<para>
@@ -3179,7 +3179,7 @@
<secondary><command>mysql</command> option</secondary>
</indexterm>
- <option>--one-database</option>, <option>-O</option>
+ <option>--one-database</option>, <option>-o</option>
</para>
<para>
Modified: trunk/refman-4.1/database-administration.xml
===================================================================
--- trunk/refman-4.1/database-administration.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-4.1/database-administration.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -464,7 +464,7 @@
have only an <literal>xxx</literal> symbol for the main
function can be loaded. By default, the option is off and
only UDFs that have at least one auxiliary symbol can be
- loaded. This prevents attempts at loading functions from
+ loaded; this prevents attempts at loading functions from
shared object files other than those containing legitimate
UDFs. This option was added in MySQL 4.0.24, and 4.1.10a.
See <xref linkend="udf-security"/>.
@@ -477,10 +477,12 @@
</para>
<para>
- Use standard SQL syntax instead of MySQL syntax. See
- <xref linkend="ansi-mode"/>. For more precise control over
- the server SQL mode, use the <option>--sql-mode</option>
- option instead.
+ Use standard (ANSI) SQL syntax instead of MySQL syntax.
+ For more precise control over the server SQL mode, use the
+ <option>--sql-mode</option> option instead. See
+ <xref linkend="ansi-mode"/>, and
+ <xref
+ linkend="server-sql-mode"/>.
</para>
</listitem>
@@ -492,7 +494,7 @@
<para>
The path to the MySQL installation directory. All paths
- are usually resolved relative to this.
+ are usually resolved relative to this directory.
</para>
</listitem>
@@ -656,6 +658,7 @@
<command>mysqld</command> is doing. The
<replaceable>debug_options</replaceable> string often is
<literal>'d:t:o,<replaceable>file_name</replaceable>'</literal>.
+ The default is <literal>'d:t:i:o,mysqld.trace'</literal>.
See <xref linkend="making-trace-files"/>.
</para>
</listitem>
@@ -711,7 +714,7 @@
<listitem>
<para>
- <option>--default-time-zone=<replaceable>type</replaceable></option>
+ <option>--default-time-zone=<replaceable>zone</replaceable></option>
</para>
<para>
@@ -730,13 +733,12 @@
</para>
<para>
- How the <literal>DELAY_KEY_WRITE</literal> table option
- should be used. Delayed key writing causes key buffers not
- to be flushed between writes for <literal>MyISAM</literal>
- tables. <literal>OFF</literal> disables delayed key
- writes. <literal>ON</literal> enables delayed key writes
- for those tables that were created with the
- <literal>DELAY_KEY_WRITE</literal> option.
+ Specify how to use delayed key writes. Delayed key writing
+ causes key buffers not to be flushed between writes for
+ <literal>MyISAM</literal> tables. <literal>OFF</literal>
+ disables delayed key writes. <literal>ON</literal> enables
+ delayed key writes for those tables that were created with
+ the <literal>DELAY_KEY_WRITE</literal> option.
<literal>ALL</literal> delays key writes for all
<literal>MyISAM</literal> tables. Available as of MySQL
4.0.3. See <xref linkend="server-parameters"/>, and
@@ -747,8 +749,8 @@
<emphasis role="bold">Note</emphasis>: If you set this
variable to <literal>ALL</literal>, you should not use
<literal>MyISAM</literal> tables from within another
- program (such as from another MySQL server or with
- <command>myisamchk</command>) when the table is in use.
+ program (such as another MySQL server or
+ <command>myisamchk</command>) when the tables are in use.
Doing so leads to index corruption.
</para>
</listitem>
@@ -771,9 +773,9 @@
</para>
<para>
- Read the default keys used by
- <literal>DES_ENCRYPT()</literal> and
- <literal>DES_DECRYPT()</literal> from this file.
+ Read the default DES keys from this file. These keys are
+ used by the <literal>DES_ENCRYPT()</literal> and
+ <literal>DES_DECRYPT()</literal> functions.
</para>
</listitem>
@@ -798,10 +800,10 @@
</para>
<para>
- This is a bit mask of different flags you can use for
- debugging the <command>mysqld</command> server. Do
- <emphasis>not</emphasis> use this option unless you know
- <emphasis>exactly</emphasis> what it does.
+ This is a bit mask of different flags that you can use for
+ debugging the <command>mysqld</command> server. Do not use
+ this option unless you know <emphasis>exactly</emphasis>
+ what it does!
</para>
</listitem>
@@ -859,10 +861,10 @@
<para>
The easiest way to ensure this is to always use
<option>--external-locking</option> together with
- <option>--delay-key-write=OFF
- --query-cache-size=0</option>. (This is not done by
- default because in many setups it's useful to have a
- mixture of the above options.)
+ <option>--delay-key-write=OFF</option> and
+ <option>--query-cache-size=0</option>. (This is not done
+ by default because in many setups it is useful to have a
+ mixture of the preceding options.)
</para>
</listitem>
@@ -872,10 +874,10 @@
</para>
<para>
- Flush all changes to disk after each SQL statement.
- Normally MySQL does a write of all changes to disk only
- after each SQL statement and lets the operating system
- handle the synching to disk. See
+ Flush (synchronize) all changes to disk after each SQL
+ statement. Normally MySQL does a write of all changes to
+ disk only after each SQL statement and lets the operating
+ system handle the synchronizing to disk. See
<xref linkend="crashing"/>.
</para>
</listitem>
@@ -906,12 +908,23 @@
<listitem>
<para>
+ <option>--innodb-<replaceable>xxx</replaceable></option>
+ </para>
+
+ <para>
+ The <literal>InnoDB</literal> options are listed in
+ <xref linkend="innodb-parameters"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<option>--language=<replaceable>lang_name</replaceable>,
-L <replaceable>lang_name</replaceable></option>
</para>
<para>
- Client error messages in given language.
+ Return client error messages in the given language.
<replaceable>lang_name</replaceable> can be given as the
language name or as the full pathname to the directory
where the language files are installed. See
@@ -926,9 +939,9 @@
</para>
<para>
- Log connections and queries to this file. See
- <xref linkend="query-log"/>. If you do not specify a
- filename, MySQL uses
+ Log connections and SQL statements received from clients
+ to this file. See <xref linkend="query-log"/>. If you omit
+ the filename, MySQL uses
<filename><replaceable>host_name</replaceable>.log</filename>
as the filename.
</para>
@@ -936,17 +949,24 @@
<listitem>
<para>
- <option>--log-bin=[<replaceable>file_name</replaceable>]</option>
+ <option>--log-bin=[<replaceable>base_name</replaceable>]</option>
</para>
<para>
- The binary log file. Log all queries that change data to
- this file. Used for backup and replication. See
- <xref linkend="binary-log"/>. It is recommended to specify
- a filename (see <xref linkend="open-bugs"/>, for the
- reason) otherwise MySQL uses
+ Enable binary logging. The server logs all statements that
+ change data to the binary log, which is used for backup
+ and replication. See <xref linkend="binary-log"/>.
+ </para>
+
+ <para>
+ The option value, if given, is the basename for the log
+ sequence. The server creates binary log files in sequence
+ by adding a numeric suffix to the basename. It is
+ recommended that you specify a basename (see
+ <xref linkend="open-bugs"/>, for the reason). Otherwise,
+ MySQL uses
<filename><replaceable>host_name</replaceable>-bin</filename>
- as the log file basename.
+ as the basename.
</para>
</listitem>
@@ -957,8 +977,8 @@
<para>
The index file for binary log filenames. See
- <xref linkend="binary-log"/>. If you do not specify a
- filename, and if you didn't specify one in
+ <xref linkend="binary-log"/>. If you omit the filename,
+ and if you didn't specify one with
<option>--log-bin</option>, MySQL uses
<filename><replaceable>host_name</replaceable>-bin.index</filename>
as the filename.
@@ -972,12 +992,11 @@
<para>
Log errors and startup messages to this file. See
- <xref linkend="error-log"/>. If you do not specify a
- filename, MySQL uses
- <filename><replaceable>host_name</replaceable>.err</filename>
- as the filename. If the filename has no extension, an
- extension of <filename>.err</filename> is added to the
- name.
+ <xref linkend="error-log"/>. If you omit the filename,
+ MySQL uses
+ <filename><replaceable>host_name</replaceable>.err</filename>.
+ If the filename has no extension, the server adds an
+ extension of <filename>.err</filename>.
</para>
</listitem>
@@ -999,10 +1018,10 @@
</para>
<para>
- Log some extra information to the log files (update log,
- binary update log, and slow queries log, whatever log has
- been activated). For example, username and timestamp are
- logged for queries. Before MySQL 4.1, if you are using
+ Log extra information to the update log, binary update
+ log, and slow query log, if they have been activated. For
+ example, the username and timestamp are logged for
+ queries. Before MySQL 4.1, if you are using
<option>--log-slow-queries</option> and
<option>--log-long-format</option>, queries that are not
using indexes also are logged to the slow query log.
@@ -1024,9 +1043,9 @@
<para>
If you are using this option with
- <option>--log-slow-queries</option>, then queries that are
- not using indexes also are logged to the slow query log.
- This option is available as of MySQL 4.1. See
+ <option>--log-slow-queries</option>, queries that do not
+ use indexes also are logged to the slow query log. This
+ option is available as of MySQL 4.1. See
<xref linkend="slow-query-log"/>.
</para>
</listitem>
@@ -1037,11 +1056,10 @@
</para>
<para>
- Log less information to the log files (update log, binary
- update log, and slow queries log, whatever log has been
- activated). For example, username and timestamp are not
- logged for queries. This option was introduced in MySQL
- 4.1.
+ Log less information to the update log, binary update log,
+ and slow query log, if they have been activated. For
+ example, the username and timestamp are not logged for
+ queries. This option was introduced in MySQL 4.1.
</para>
</listitem>
@@ -1125,14 +1143,15 @@
</para>
<para>
- Table-modifying operations (<literal>INSERT</literal>,
- <literal>REPLACE</literal>, <literal>DELETE</literal>,
- <literal>UPDATE</literal>) have lower priority than
- selects. This can also be done via <literal>{INSERT |
- REPLACE | DELETE | UPDATE} LOW_PRIORITY ...</literal> to
- lower the priority of only one query, or by <literal>SET
- LOW_PRIORITY_UPDATES=1</literal> to change the priority in
- one thread. See <xref linkend="table-locking"/>.
+ Give table-modifying operations
+ (<literal>INSERT</literal>, <literal>REPLACE</literal>,
+ <literal>DELETE</literal>, <literal>UPDATE</literal>)
+ lower priority than selects. This can also be done via
+ <literal>{INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY
+ ...</literal> to lower the priority of only one query, or
+ by <literal>SET LOW_PRIORITY_UPDATES=1</literal> to change
+ the priority in one thread. See
+ <xref linkend="table-locking"/>.
</para>
</listitem>
@@ -1149,14 +1168,15 @@
causing <command>mysqld</command> to swap on disk. Note
that use of this option requires that you run the server
as <literal>root</literal>, which is normally not a good
- idea for security reasons.
+ idea for security reasons. See
+ <xref linkend="changing-mysql-user"/>.
</para>
</listitem>
<listitem>
<para>
<option>--myisam-recover
- [=<replaceable>option</replaceable>[,<replaceable>option</replaceable>...]]]</option>
+ [=<replaceable>option</replaceable>[,<replaceable>option</replaceable>]...]]</option>
</para>
<para>
@@ -1166,14 +1186,15 @@
<literal>FORCE</literal>, or <literal>QUICK</literal>. If
you specify multiple values, separate them by commas. You
can also use a value of <literal>""</literal> to disable
- this option. If this option is used,
- <command>mysqld</command>, when it opens a
- <literal>MyISAM</literal> table, checks whether the table
- is marked as crashed or wasn't closed properly. (The last
- option works only if you are running with external locking
- disabled.) If this is the case, <command>mysqld</command>
- runs a check on the table. If the table was corrupted,
- <command>mysqld</command> attempts to repair it.
+ this option. If this option is used, each time
+ <command>mysqld</command> opens a
+ <literal>MyISAM</literal> table, it checks whether the
+ table is marked as crashed or wasn't closed properly. (The
+ last option works only if you are running with external
+ locking disabled.) If this is the case,
+ <command>mysqld</command> runs a check on the table. If
+ the table was corrupted, <command>mysqld</command>
+ attempts to repair it.
</para>
<para>
@@ -1214,10 +1235,10 @@
</informaltable>
<para>
- Before a table is automatically repaired, MySQL adds a
- note about this in the error log. If you want to be able
- to recover from most problems without user intervention,
- you should use the options
+ Before the server automatically repairs a table, it writes
+ a note about the repair to the error log. If you want to
+ be able to recover from most problems without user
+ intervention, you should use the options
<literal>BACKUP,FORCE</literal>. This forces a repair of a
table even if some rows would be deleted, but it keeps the
old data file as a backup so that you can later examine
@@ -1252,9 +1273,8 @@
If the binary includes support for the <literal>NDB
Cluster</literal> storage engine (from version 4.1.3, the
MySQL-Max binaries are built with <literal>NDB
- Cluster</literal> enabled) the default disabling of
- support for the <literal>NDB Cluster</literal> storage
- engine can be overruled by using this option. Using the
+ Cluster</literal> enabled), this option enables the
+ engine, which is disabled by default. Using the
<literal>NDB Cluster</literal> storage engine is necessary
for using MySQL Cluster. See <xref linkend="ndbcluster"/>.
</para>
@@ -1343,16 +1363,18 @@
</para>
<para>
- To change the number of file descriptors available to
- <command>mysqld</command>. If this is not set or set to 0,
- <command>mysqld</command> uses this value to reserve file
- descriptors to use with <literal>setrlimit()</literal>. If
- this value is 0 then <command>mysqld</command> reserves
- <literal>max_connections*5</literal> or
- <literal>max_connections + table_cache*2</literal>
- (whichever is larger) number of files. You should try
- increasing this if <command>mysqld</command> gives you the
- error <literal>Too many open files</literal>.
+ Change the number of file descriptors available to
+ <command>mysqld</command>. If this option is not set or is
+ set to 0, <command>mysqld</command> uses the value to
+ reserve file descriptors with
+ <literal>setrlimit()</literal>. If the value is 0,
+ <command>mysqld</command> reserves
+ <literal>max_connections×5</literal> or
+ <literal>max_connections +
+ table_open_cache×2</literal> files (whichever is
+ larger). You should try increasing this value if
+ <command>mysqld</command> gives you the error <literal>Too
+ many open files</literal>.
</para>
</listitem>
@@ -1362,8 +1384,9 @@
</para>
<para>
- The pathname of the process ID file used by
- <command>mysqld_safe</command>.
+ The pathname of the process ID file. This file is used by
+ other programs such as <command>mysqld_safe</command> to
+ determine the server's process ID.
</para>
</listitem>
@@ -1428,9 +1451,9 @@
</para>
<para>
- Disallow authentication for accounts that have old
- (pre-4.1) passwords. This option is available as of MySQL
- 4.1.1.
+ Disallow authentication by clients that attempt to use
+ accounts that have old (pre-4.1) passwords. This option is
+ available as of MySQL 4.1.1.
</para>
</listitem>
@@ -1452,8 +1475,10 @@
</para>
<para>
- The name to use for shared-memory connections. This option
- is available only on Windows. It was added in MySQL 4.1.0.
+ The name of shared memory to use for shared-memory
+ connections. This option is available only on Windows. The
+ default name is <literal>MYSQL</literal>. The name is case
+ sensitive. This option was added in MySQL 4.1.0.
</para>
</listitem>
@@ -1511,8 +1536,8 @@
<para>
Do not use external locking (system locking). With
- external locking enabled, you must shut down the server to
- use <command>myisamchk</command> or
+ external locking disabled, you must shut down the server
+ to use <command>myisamchk</command> or
<command>isamchk</command>. See
<xref linkend="stability"/>. As of MySQL 3.23, you can use
the <literal>CHECK TABLE</literal> and <literal>REPAIR
@@ -1534,15 +1559,16 @@
<para>
This option causes the server not to use the privilege
- system at all. This gives anyone with access to the server
- <emphasis>unrestricted access</emphasis> to <emphasis>all
+ system at all, which gives anyone with access to the
+ server <emphasis>unrestricted access to all
databases</emphasis>. You can cause a running server to
start using the grant tables again by executing
<command>mysqladmin flush-privileges</command> or
<command>mysqladmin reload</command> command from a system
shell, or by issuing a MySQL <literal>FLUSH
- PRIVILEGES</literal> statement. This option also
- suppresses loading of user-defined functions (UDFs).
+ PRIVILEGES</literal> statement after connecting to the
+ server. This option also suppresses loading of
+ user-defined functions (UDFs).
</para>
</listitem>
@@ -1607,10 +1633,12 @@
<para>
Disable the <literal>NDB Cluster</literal> storage engine.
This is the default for binaries that were built with
- <literal>NDB Cluster</literal> storage engine support,
- this means that the system allocates memory and other
- resources for this storage engine only if it is explicitly
- enabled.
+ <literal>NDB Cluster</literal> storage engine support; the
+ server allocates memory and other resources for this
+ storage engine only if the <option>--ndbcluster</option>
+ option is given explicitly. See
+ <xref linkend="mysql-cluster-quick"/>, for an example of
+ usage.
</para>
</listitem>
@@ -1657,8 +1685,8 @@
</para>
<para>
- Windows NT-based systems only; instructs MySQL server to
- not run as a service.
+ Available on Windows NT-based systems only; instructs the
+ MySQL server not to run as a service.
</para>
</listitem>
@@ -1679,8 +1707,9 @@
<para>
On Windows, enabling symbolic links allows you to
establish a symbolic link to a database directory by
- creating a <filename>directory.sym</filename> file
- that contains the path to the real directory. See
+ creating a
+ <filename><replaceable>db_name</replaceable>.sym</filename>
+ file that contains the path to the real directory. See
<xref linkend="windows-symbolic-links"/>.
</para>
</listitem>
@@ -1695,7 +1724,7 @@
TABLE</literal> statement. If you delete or rename the
table, the files that its symbolic links point to also
are deleted or renamed. See
- <xref linkend="create-table"/>.
+ <xref linkend="symbolic-links-to-tables"/>.
</para>
</listitem>
@@ -1734,8 +1763,9 @@
option, <literal>SHOW DATABASES</literal> is allowed to
all users, but displays each database name only if the
user has the <literal>SHOW DATABASES</literal> privilege
- or some privilege for the database. Note that any global
- privilege is a privilege for the database.
+ or some privilege for the database. Note that
+ <emphasis>any</emphasis> global privilege is considered a
+ privilege for the database.
</para>
</listitem>
@@ -1779,7 +1809,7 @@
<filename>/tmp/mysql.sock</filename>. On Windows, the
option specifies the pipe name to use when listening for
local connections that use a named pipe. The default value
- is <literal>MySQL</literal>.
+ is <literal>MySQL</literal> (not case sensitive).
</para>
</listitem>
@@ -1794,9 +1824,8 @@
</para>
<para>
- Set the SQL mode for MySQL. See
- <xref linkend="server-sql-mode"/>. This option was added
- in 3.23.41.
+ Set the SQL mode. See <xref linkend="server-sql-mode"/>.
+ This option was added in 3.23.41.
</para>
</listitem>
@@ -1823,7 +1852,8 @@
</para>
<para>
- Sets the default transaction isolation level, which can be
+ Sets the default transaction isolation level. The
+ <literal>level</literal> value can be
<literal>READ-UNCOMMITTED</literal>,
<literal>READ-COMMITTED</literal>,
<literal>REPEATABLE-READ</literal>, or
@@ -1933,47 +1963,41 @@
</para>
<para>
- Note that when setting a variable to a value, MySQL might
- automatically correct it to stay within a given range, or
- adjust the value to the closest allowable value if only
+ Note that when you assign a value to a variable, MySQL might
+ automatically correct the value to stay within a given range,
+ or adjust the value to the closest allowable value if only
certain values are allowed.
</para>
<para>
- It is also possible to set variables by using
- <option>--set-variable=<replaceable>var_name</replaceable>=<replaceable>value</replaceable></option>
- or
- <option>--<replaceable>var_name</replaceable>=<replaceable>value</replaceable></option>
- syntax. However, this syntax is deprecated as of MySQL 4.0.
+ If you want to restrict the maximum value to which a variable
+ can be set at runtime with <literal>SET</literal>, you can
+ define this by using the
+ <option>--maximum-<replaceable>var_name</replaceable></option>
+ command-line option.
</para>
<para>
It is also possible to set variables by using
<option>--set-variable=<replaceable>var_name</replaceable>=<replaceable>value</replaceable></option>
- or <option>-O
- <replaceable>var_name</replaceable>=<replaceable>value</replaceable></option>
- syntax. <emphasis>This syntax is deprecated</emphasis>.
+ or
+ <option>--<replaceable>var_name</replaceable>=<replaceable>value</replaceable></option>
+ syntax. <emphasis>This syntax is deprecated as of MySQL
+ 4.0.</emphasis>
</para>
<para>
- You can find a full description for all variables in
- <xref linkend="server-system-variables"/>. The section on
- tuning server parameters includes information on how to
- optimize them. See <xref linkend="server-parameters"/>.
- </para>
-
- <para>
You can change the values of most system variables for a
running server with the <literal>SET</literal> statement. See
<xref linkend="set-option"/>.
</para>
<para>
- If you want to restrict the maximum value that a startup
- option can be set to with <literal>SET</literal>, you can
- define this by using the
- <option>--maximum-<replaceable>var_name</replaceable></option>
- command-line option.
+ <xref linkend="server-system-variables"/>, provides a full
+ description for all variables, and additional information for
+ setting them at server startup and runtime.
+ <xref linkend="server-parameters"/>, includes information on
+ optimizing the server by tuning system variables.
</para>
</refsection>
@@ -2949,11 +2973,12 @@
</para>
<para>
- If <literal>ON</literal>, the server flushes all changes
- to disk after each SQL statement. Normally MySQL does a
- write of all changes to disk only after each SQL statement
- and lets the operating system handle the synching to disk.
- See <xref linkend="crashing"/>. This variable is set to
+ If <literal>ON</literal>, the server flushes
+ (synchronizes) all changes to disk after each SQL
+ statement. Normally, MySQL does a write of all changes to
+ disk only after each SQL statement and lets the operating
+ system handle the synchronizing to disk. See
+ <xref linkend="crashing"/>. This variable is set to
<literal>ON</literal> if you start
<command>mysqld</command> with the
<option>--flush</option> option. This variable was added
@@ -4784,9 +4809,9 @@
</para>
<para>
- Whether or not the server allows shared-memory
- connections. Currently, only Windows servers support this.
- This variable was added in MySQL 4.1.1.
+ (Windows only.) Whether or not the server allows
+ shared-memory connections. This variable was added in
+ MySQL 4.1.1.
</para>
</listitem>
@@ -4796,12 +4821,10 @@
</para>
<para>
- Indicates whether or not the server allows shared-memory
- connections, and sets the identifier for the shared
- memory. This is useful when running multiple MYSQL
- instances on a single physical machine. Currently, only
- Windows servers support this. This variable was added in
- MySQL 4.1.0.
+ (Windows only.) The name of shared memory to use for
+ shared-memory connections. This is useful when running
+ multiple MYSQL instances on a single physical machine.
+ This variable was added in MySQL 4.1.0.
</para>
</listitem>
@@ -10220,7 +10243,7 @@
have only an <literal>xxx</literal> symbol for the main
function can be loaded. By default, the option is turned off
and only UDFs that have at least one auxiliary symbol can be
- loaded. This prevents attempts at loading functions from
+ loaded; this prevents attempts at loading functions from
shared object files other than those containing legitimate
UDFs. This option was added in MySQL 4.0.24 and 4.1.10a. See
<xref linkend="udf-security"/>.
@@ -10514,6 +10537,118 @@
</section>
+ <section id="changing-mysql-user">
+
+ <title>&title-changing-mysql-user;</title>
+
+ <indexterm>
+ <primary>starting</primary>
+ <secondary><command>mysqld</command></secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary><command>mysqld</command></primary>
+ <secondary>starting</secondary>
+ </indexterm>
+
+ <para>
+ On Windows, you can run the server as a Windows service using
+ normal user accounts beginning with MySQL 4.0.17 and 4.1.2.
+ (Older MySQL versions required you to have administrator rights.
+ This was a bug introduced in MySQL 3.23.54.)
+ </para>
+
+ <para>
+ On Unix, the MySQL server <command>mysqld</command> can be
+ started and run by any user. However, you should avoid running
+ the server as the Unix <literal>root</literal> user for security
+ reasons. To change <command>mysqld</command> to run as a normal
+ unprivileged Unix user <replaceable>user_name</replaceable>, you
+ must do the following:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ Stop the server if it's running (use <command>mysqladmin
+ shutdown</command>).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Change the database directories and files so that
+ <replaceable>user_name</replaceable> has privileges to read
+ and write files in them (you might need to do this as the
+ Unix <literal>root</literal> user):
+ </para>
+
+<programlisting>
+shell> <userinput>chown -R <replaceable>user_name</replaceable> <replaceable>/path/to/mysql/datadir</replaceable></userinput>
+</programlisting>
+
+ <para>
+ If you do not do this, the server will not be able to access
+ databases or tables when it runs as
+ <replaceable>user_name</replaceable>.
+ </para>
+
+ <para>
+ If directories or files within the MySQL data directory are
+ symbolic links, you'll also need to follow those links and
+ change the directories and files they point to.
+ <literal>chown -R</literal> might not follow symbolic links
+ for you.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Start the server as user
+ <replaceable>user_name</replaceable>. If you are using MySQL
+ 3.22 or later, another alternative is to start
+ <command>mysqld</command> as the Unix
+ <literal>root</literal> user and use the
+ <option>--user=<replaceable>user_name</replaceable></option>
+ option. <command>mysqld</command> starts up, then switches
+ to run as the Unix user <replaceable>user_name</replaceable>
+ before accepting any connections.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ To start the server as the given user automatically at
+ system startup time, specify the username by adding a
+ <literal>user</literal> option to the
+ <literal>[mysqld]</literal> group of the
+ <filename>/etc/my.cnf</filename> option file or the
+ <filename>my.cnf</filename> option file in the server's data
+ directory. For example:
+ </para>
+
+<programlisting>
+[mysqld]
+user=<replaceable>user_name</replaceable>
+</programlisting>
+ </listitem>
+
+ </orderedlist>
+
+ <para>
+ If your Unix machine itself isn't secured, you should assign
+ passwords to the MySQL <literal>root</literal> accounts in the
+ grant tables. Otherwise, any user with a login account on that
+ machine can run the <command>mysql</command> client with a
+ <option>--user=root</option> option and perform any operation.
+ (It is a good idea to assign passwords to MySQL accounts in any
+ case, but especially so when other login accounts exist on the
+ server host.) See <xref linkend="post-installation"/>.
+ </para>
+
+ </section>
+
</section>
<section id="privilege-system">
@@ -20790,10 +20925,10 @@
</para>
<para>
- This option currently is used only on Windows. It designates
- the shared memory name used by a Windows server to allow
- clients to connect via shared memory. This option was added in
- MySQL 4.1.
+ The name of shared memory to use for shared-memory
+ connections. This option is available only on Windows. The
+ default name is <literal>MYSQL</literal>. The name is case
+ sensitive. This option was added in MySQL 4.1.
</para>
</listitem>
Modified: trunk/refman-4.1/problems.xml
===================================================================
--- trunk/refman-4.1/problems.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-4.1/problems.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -2117,118 +2117,6 @@
</section>
- <section id="changing-mysql-user">
-
- <title>&title-changing-mysql-user;</title>
-
- <indexterm>
- <primary>starting</primary>
- <secondary><command>mysqld</command></secondary>
- </indexterm>
-
- <indexterm>
- <primary><command>mysqld</command></primary>
- <secondary>starting</secondary>
- </indexterm>
-
- <para>
- On Windows, you can run the server as a Windows service using
- normal user accounts beginning with MySQL 4.0.17 and 4.1.2.
- (Older MySQL versions required you to have administrator rights.
- This was a bug introduced in MySQL 3.23.54.)
- </para>
-
- <para>
- On Unix, the MySQL server <command>mysqld</command> can be
- started and run by any user. However, you should avoid running
- the server as the Unix <literal>root</literal> user for security
- reasons. In order to change <command>mysqld</command> to run as
- a normal unprivileged Unix user
- <replaceable>user_name</replaceable>, you must do the following:
- </para>
-
- <orderedlist>
-
- <listitem>
- <para>
- Stop the server if it's running (use <command>mysqladmin
- shutdown</command>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- Change the database directories and files so that
- <replaceable>user_name</replaceable> has privileges to read
- and write files in them (you might need to do this as the
- Unix <literal>root</literal> user):
- </para>
-
-<programlisting>
-shell> <userinput>chown -R <replaceable>user_name</replaceable> <replaceable>/path/to/mysql/datadir</replaceable></userinput>
-</programlisting>
-
- <para>
- If you do not do this, the server is not able to access
- databases or tables when it runs as
- <replaceable>user_name</replaceable>.
- </para>
-
- <para>
- If directories or files within the MySQL data directory are
- symbolic links, you'll also need to follow those links and
- change the directories and files they point to.
- <literal>chown -R</literal> might not follow symbolic links
- for you.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Start the server as user
- <replaceable>user_name</replaceable>. If you are using MySQL
- 3.22 or later, another alternative is to start
- <command>mysqld</command> as the Unix
- <literal>root</literal> user and use the
- <option>--user=<replaceable>user_name</replaceable></option>
- option. <command>mysqld</command> starts up, then switches
- to run as the Unix user <replaceable>user_name</replaceable>
- before accepting any connections.
- </para>
- </listitem>
-
- <listitem>
- <para>
- To start the server as the given user automatically at
- system startup time, specify the username by adding a
- <literal>user</literal> option to the
- <literal>[mysqld]</literal> group of the
- <filename>/etc/my.cnf</filename> option file or the
- <filename>my.cnf</filename> option file in the server's data
- directory. For example:
- </para>
-
-<programlisting>
-[mysqld]
-user=<replaceable>user_name</replaceable>
-</programlisting>
- </listitem>
-
- </orderedlist>
-
- <para>
- If your Unix machine itself isn't secured, you should assign
- passwords to the MySQL <literal>root</literal> accounts in the
- grant tables. Otherwise, any user with a login account on that
- machine can run the <command>mysql</command> client with a
- <option>--user=root</option> option and perform any operation.
- (It is a good idea to assign passwords to MySQL accounts in any
- case, but especially so when other login accounts exist on the
- server host.) See <xref linkend="post-installation"/>.
- </para>
-
- </section>
-
<section id="file-permissions">
<title>&title-file-permissions;</title>
Modified: trunk/refman-4.1/using-mysql-programs.xml
===================================================================
--- trunk/refman-4.1/using-mysql-programs.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-4.1/using-mysql-programs.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -856,13 +856,19 @@
<para>
MySQL looks for option files in the order just described and
reads any that exist. If an option file that you want to use
- does not exist, create it with a plain text editor. If multiple
- option files exist, an option specified in a file read later
- takes precedence over the same option specified in a file read
- earlier.
+ does not exist, create it with a plain text editor.
</para>
<para>
+ If multiple instances of a given option are found, the last
+ instance takes precedence. There is one exception: For
+ <command>mysqld</command>, the <emphasis>first</emphasis>
+ instance of the <option>--user</option> option is used as a
+ security precaution, to keep a user specified on an option file
+ from being overridden on the command line.
+ </para>
+
+ <para>
<emphasis role="bold">Note</emphasis>: On Unix platforms, MySQL
ignores configuration files that are world-writable. This is
intentional, and acts as a security measure.
Modified: trunk/refman-5.0/client-utility-programs.xml
===================================================================
--- trunk/refman-5.0/client-utility-programs.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-5.0/client-utility-programs.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -522,7 +522,7 @@
</para>
<programlisting>
-shell> <userinput>myisamchk /path/to/datadir/*/*.MYI</userinput>
+shell> <userinput>myisamchk <replaceable>/path/to/datadir</replaceable>/*/*.MYI</userinput>
</programlisting>
<para>
@@ -531,7 +531,7 @@
</para>
<programlisting>
-shell> <userinput>myisamchk --silent --fast /path/to/datadir/*/*.MYI</userinput>
+shell> <userinput>myisamchk --silent --fast <replaceable>/path/to/datadir</replaceable>/*/*.MYI</userinput>
</programlisting>
<para>
@@ -542,9 +542,9 @@
<programlisting>
shell> <userinput>myisamchk --silent --force --fast --update-state \</userinput>
- <userinput>-O key_buffer=64M -O sort_buffer=64M \</userinput>
- <userinput>-O read_buffer=1M -O write_buffer=1M \</userinput>
- <userinput>/path/to/datadir/*/*.MYI</userinput>
+ <userinput>--key_buffer_size=64M --sort_buffer_size=64M \</userinput>
+ <userinput>--read_buffer_size=1M --write_buffer_size=1M \</userinput>
+ <userinput><replaceable>/path/to/datadir/</replaceable>*/*.MYI</userinput>
</programlisting>
<para>
@@ -3053,7 +3053,7 @@
<secondary><command>mysql</command> option</secondary>
</indexterm>
- <option>--one-database</option>, <option>-O</option>
+ <option>--one-database</option>, <option>-o</option>
</para>
<para>
Modified: trunk/refman-5.0/database-administration.xml
===================================================================
--- trunk/refman-5.0/database-administration.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-5.0/database-administration.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -481,7 +481,7 @@
have only an <literal>xxx</literal> symbol for the main
function can be loaded. By default, the option is off and
only UDFs that have at least one auxiliary symbol can be
- loaded. This prevents attempts at loading functions from
+ loaded; this prevents attempts at loading functions from
shared object files other than those containing legitimate
UDFs. This option was added in version 5.0.3. See
<xref linkend="udf-security"/>.
@@ -495,9 +495,11 @@
<para>
Use standard (ANSI) SQL syntax instead of MySQL syntax.
- See <xref linkend="ansi-mode"/>. For more precise control
- over the server SQL mode, use the
- <option>--sql-mode</option> option instead.
+ For more precise control over the server SQL mode, use the
+ <option>--sql-mode</option> option instead. See
+ <xref linkend="ansi-mode"/>, and
+ <xref
+linkend="server-sql-mode"/>.
</para>
</listitem>
@@ -509,7 +511,7 @@
<para>
The path to the MySQL installation directory. All paths
- are usually resolved relative to this.
+ are usually resolved relative to this directory.
</para>
</listitem>
@@ -675,6 +677,7 @@
<command>mysqld</command> is doing. The
<replaceable>debug_options</replaceable> string often is
<literal>'d:t:o,<replaceable>file_name</replaceable>'</literal>.
+ The default is <literal>'d:t:i:o,mysqld.trace'</literal>.
See <xref linkend="making-trace-files"/>.
</para>
</listitem>
@@ -730,7 +733,7 @@
<listitem>
<para>
- <option>--default-time-zone=<replaceable>type</replaceable></option>
+ <option>--default-time-zone=<replaceable>zone</replaceable></option>
</para>
<para>
@@ -748,13 +751,12 @@
</para>
<para>
- How the <literal>DELAY_KEY_WRITE</literal> table option
- should be used. Delayed key writing causes key buffers not
- to be flushed between writes for <literal>MyISAM</literal>
- tables. <literal>OFF</literal> disables delayed key
- writes. <literal>ON</literal> enables delayed key writes
- for those tables that were created with the
- <literal>DELAY_KEY_WRITE</literal> option.
+ Specify how to use delayed key writes. Delayed key writing
+ causes key buffers not to be flushed between writes for
+ <literal>MyISAM</literal> tables. <literal>OFF</literal>
+ disables delayed key writes. <literal>ON</literal> enables
+ delayed key writes for those tables that were created with
+ the <literal>DELAY_KEY_WRITE</literal> option.
<literal>ALL</literal> delays key writes for all
<literal>MyISAM</literal> tables. See
<xref linkend="server-parameters"/>, and
@@ -765,8 +767,8 @@
<emphasis role="bold">Note</emphasis>: If you set this
variable to <literal>ALL</literal>, you should not use
<literal>MyISAM</literal> tables from within another
- program (such as from another MySQL server or with
- <command>myisamchk</command>) when the table is in use.
+ program (such as another MySQL server or
+ <command>myisamchk</command>) when the tables are in use.
Doing so leads to index corruption.
</para>
</listitem>
@@ -777,9 +779,9 @@
</para>
<para>
- Read the default keys used by
- <literal>DES_ENCRYPT()</literal> and
- <literal>DES_DECRYPT()</literal> from this file.
+ Read the default DES keys from this file. These keys are
+ used by the <literal>DES_ENCRYPT()</literal> and
+ <literal>DES_DECRYPT()</literal> functions.
</para>
</listitem>
@@ -804,7 +806,7 @@
</para>
<para>
- This is a bit mask of different flags you can use for
+ This is a bit mask of different flags that you can use for
debugging the <command>mysqld</command> server. Do not use
this option unless you know <emphasis>exactly</emphasis>
what it does!
@@ -864,10 +866,10 @@
<para>
The easiest way to ensure this is to always use
<option>--external-locking</option> together with
- <option>--delay-key-write=OFF
- --query-cache-size=0</option>. (This is not done by
- default because in many setups it's useful to have a
- mixture of the above options.)
+ <option>--delay-key-write=OFF</option> and
+ <option>--query-cache-size=0</option>. (This is not done
+ by default because in many setups it is useful to have a
+ mixture of the preceding options.)
</para>
</listitem>
@@ -877,10 +879,10 @@
</para>
<para>
- Flush all changes to disk after each SQL statement.
- Normally MySQL does a write of all changes to disk only
- after each SQL statement and lets the operating system
- handle the synching to disk. See
+ Flush (synchronize) all changes to disk after each SQL
+ statement. Normally MySQL does a write of all changes to
+ disk only after each SQL statement and lets the operating
+ system handle the synchronizing to disk. See
<xref linkend="crashing"/>.
</para>
</listitem>
@@ -913,12 +915,23 @@
<listitem>
<para>
+ <option>--innodb-<replaceable>xxx</replaceable></option>
+ </para>
+
+ <para>
+ The <literal>InnoDB</literal> options are listed in
+ <xref linkend="innodb-parameters"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<option>--language=<replaceable>lang_name</replaceable>,
-L <replaceable>lang_name</replaceable></option>
</para>
<para>
- Client error messages in given language.
+ Return client error messages in the given language.
<replaceable>lang_name</replaceable> can be given as the
language name or as the full pathname to the directory
where the language files are installed. See
@@ -936,7 +949,7 @@
memory pages greater than the default (usually 4KB). The
actual implementation of this support depends on the
underlying hardware and OS. Applications that perform a
- lot of memory access may obtain performance improvements
+ lot of memory accesses may obtain performance improvements
by using large pages due to reduced Translation Lookaside
Buffer (TLB) misses.
</para>
@@ -968,9 +981,9 @@
</para>
<para>
- Log connections and queries to this file. See
- <xref linkend="query-log"/>. If you don't specify a
- filename, MySQL uses
+ Log connections and SQL statements received from clients
+ to this file. See <xref linkend="query-log"/>. If you omit
+ the filename, MySQL uses
<filename><replaceable>host_name</replaceable>.log</filename>
as the filename.
</para>
@@ -978,17 +991,24 @@
<listitem>
<para>
- <option>--log-bin=[<replaceable>file_name</replaceable>]</option>
+ <option>--log-bin=[<replaceable>base_name</replaceable>]</option>
</para>
<para>
- The binary log file. Log all queries that change data to
- this file. Used for backup and replication. See
- <xref linkend="binary-log"/>. It is recommended to specify
- a filename (see <xref linkend="open-bugs"/>, for the
- reason) otherwise MySQL uses
+ Enable binary logging. The server logs all statements that
+ change data to the binary log, which is used for backup
+ and replication. See <xref linkend="binary-log"/>.
+ </para>
+
+ <para>
+ The option value, if given, is the basename for the log
+ sequence. The server creates binary log files in sequence
+ by adding a numeric suffix to the basename. It is
+ recommended that you specify a basename (see
+ <xref linkend="open-bugs"/>, for the reason). Otherwise,
+ MySQL uses
<filename><replaceable>host_name</replaceable>-bin</filename>
- as the log file basename.
+ as the basename.
</para>
</listitem>
@@ -999,8 +1019,8 @@
<para>
The index file for binary log filenames. See
- <xref linkend="binary-log"/>. If you don't specify a
- filename, and if you didn't specify one in
+ <xref linkend="binary-log"/>. If you omit the filename,
+ and if you didn't specify one with
<option>--log-bin</option>, MySQL uses
<filename><replaceable>host_name</replaceable>-bin.index</filename>
as the filename.
@@ -1055,12 +1075,11 @@
<para>
Log errors and startup messages to this file. See
- <xref linkend="error-log"/>. If you don't specify a
- filename, MySQL uses
- <filename><replaceable>host_name</replaceable>.err</filename>
- as the filename. If the filename has no extension, an
- extension of <filename>.err</filename> is added to the
- name.
+ <xref linkend="error-log"/>. If you omit the filename,
+ MySQL uses
+ <filename><replaceable>host_name</replaceable>.err</filename>.
+ If the filename has no extension, the server adds an
+ extension of <filename>.err</filename>.
</para>
</listitem>
@@ -1082,12 +1101,12 @@
</para>
<para>
- Log extra information to whichever of the update log,
- binary update log, and slow queries log that have been
- activated. For example, username and timestamp are logged
- for all queries. This option is deprecated, as it now
- represents the default logging behavior. (See the
- description for <option>--log-short-format</option>.) The
+ Log extra information to the update log, binary update
+ log, and slow query log, if they have been activated. For
+ example, the username and timestamp are logged for all
+ queries. This option is deprecated, as it now represents
+ the default logging behavior. (See the description for
+ <option>--log-short-format</option>.) The
<option>--log-queries-not-using-indexes</option> option is
available for the purpose of logging queries that do not
use indexes to the slow query log.
@@ -1101,9 +1120,9 @@
<para>
If you are using this option with
- <option>--log-slow-queries</option>, then queries that are
- not using indexes also are logged to the slow query log.
- See <xref linkend="slow-query-log"/>.
+ <option>--log-slow-queries</option>, queries that do not
+ use indexes are logged to the slow query log. See
+ <xref linkend="slow-query-log"/>.
</para>
</listitem>
@@ -1113,10 +1132,10 @@
</para>
<para>
- Log less information to whichever of the update log,
- binary update log, and slow queries log that have been
- activated. For example, the username and timestamp are not
- logged for queries.
+ Log less information to the update log, binary update log,
+ and slow query log, if they have been activated. For
+ example, the username and timestamp are not logged for
+ queries.
</para>
</listitem>
@@ -1172,14 +1191,15 @@
</para>
<para>
- Table-modifying operations (<literal>INSERT</literal>,
- <literal>REPLACE</literal>, <literal>DELETE</literal>,
- <literal>UPDATE</literal>) have lower priority than
- selects. This can also be done via <literal>{INSERT |
- REPLACE | DELETE | UPDATE} LOW_PRIORITY ...</literal> to
- lower the priority of only one query, or by <literal>SET
- LOW_PRIORITY_UPDATES=1</literal> to change the priority in
- one thread. See <xref linkend="table-locking"/>.
+ Give table-modifying operations
+ (<literal>INSERT</literal>, <literal>REPLACE</literal>,
+ <literal>DELETE</literal>, <literal>UPDATE</literal>)
+ lower priority than selects. This can also be done via
+ <literal>{INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY
+ ...</literal> to lower the priority of only one query, or
+ by <literal>SET LOW_PRIORITY_UPDATES=1</literal> to change
+ the priority in one thread. See
+ <xref linkend="table-locking"/>.
</para>
</listitem>
@@ -1196,14 +1216,15 @@
causing <command>mysqld</command> to swap on disk. Note
that use of this option requires that you run the server
as <literal>root</literal>, which is normally not a good
- idea for security reasons.
+ idea for security reasons. See
+ <xref linkend="changing-mysql-user"/>.
</para>
</listitem>
<listitem>
<para>
<option>--myisam-recover
- [=<replaceable>option</replaceable>[,<replaceable>option</replaceable>...]]]</option>
+ [=<replaceable>option</replaceable>[,<replaceable>option</replaceable>]...]]</option>
</para>
<para>
@@ -1213,14 +1234,15 @@
<literal>FORCE</literal>, or <literal>QUICK</literal>. If
you specify multiple values, separate them by commas. You
can also use a value of <literal>""</literal> to disable
- this option. If this option is used,
- <command>mysqld</command>, when it opens a
- <literal>MyISAM</literal> table, checks whether the table
- is marked as crashed or wasn't closed properly. (The last
- option works only if you are running with external locking
- disabled.) If this is the case, <command>mysqld</command>
- runs a check on the table. If the table was corrupted,
- <command>mysqld</command> attempts to repair it.
+ this option. If this option is used, each time
+ <command>mysqld</command> opens a
+ <literal>MyISAM</literal> table, it checks whether the
+ table is marked as crashed or wasn't closed properly. (The
+ last option works only if you are running with external
+ locking disabled.) If this is the case,
+ <command>mysqld</command> runs a check on the table. If
+ the table was corrupted, <command>mysqld</command>
+ attempts to repair it.
</para>
<para>
@@ -1261,10 +1283,10 @@
</informaltable>
<para>
- Before a table is automatically repaired, MySQL adds a
- note about this in the error log. If you want to be able
- to recover from most problems without user intervention,
- you should use the options
+ Before the server automatically repairs a table, it writes
+ a note about the repair to the error log. If you want to
+ be able to recover from most problems without user
+ intervention, you should use the options
<literal>BACKUP,FORCE</literal>. This forces a repair of a
table even if some rows would be deleted, but it keeps the
old data file as a backup so that you can later examine
@@ -1297,9 +1319,9 @@
<para>
If the binary includes support for the <literal>NDB
- Cluster</literal> storage engine, the default disabling of
- support for MySQL Cluster can be overruled by using this
- option. See <xref linkend="ndbcluster"/>.
+ Cluster</literal> storage engine, this option enables the
+ engine, which is disabled by default. See
+ <xref linkend="ndbcluster"/>.
</para>
</listitem>
@@ -1348,16 +1370,18 @@
</para>
<para>
- To change the number of file descriptors available to
- <command>mysqld</command>. If this is not set or set to 0,
- <command>mysqld</command> uses this value to reserve file
- descriptors to use with <literal>setrlimit()</literal>. If
- this value is 0 then <command>mysqld</command> reserves
- <literal>max_connections*5</literal> or
- <literal>max_connections + table_cache*2</literal>
- (whichever is larger) number of files. You should try
- increasing this if <command>mysqld</command> gives you the
- error <literal>Too many open files</literal>.
+ Change the number of file descriptors available to
+ <command>mysqld</command>. If this option is not set or is
+ set to 0, <command>mysqld</command> uses the value to
+ reserve file descriptors with
+ <literal>setrlimit()</literal>. If the value is 0,
+ <command>mysqld</command> reserves
+ <literal>max_connections×5</literal> or
+ <literal>max_connections +
+ table_open_cache×2</literal> files (whichever is
+ larger). You should try increasing this value if
+ <command>mysqld</command> gives you the error <literal>Too
+ many open files</literal>.
</para>
</listitem>
@@ -1367,8 +1391,9 @@
</para>
<para>
- The pathname of the process ID file used by
- <command>mysqld_safe</command>.
+ The pathname of the process ID file. This file is used by
+ other programs such as <command>mysqld_safe</command> to
+ determine the server's process ID.
</para>
</listitem>
@@ -1392,7 +1417,7 @@
</para>
<para>
- When the server is stopped, on some systems the TCP/IP
+ On some systems, when the server is stopped, the TCP/IP
port might not become available immediately. If the server
is restarted quickly afterward, its attempt to reopen the
port can fail. This option indicates how many seconds the
@@ -1443,8 +1468,8 @@
</para>
<para>
- Disallow authentication for accounts that have old
- (pre-4.1) passwords.
+ Disallow authentication by clients that attempt to use
+ accounts that have old (pre-4.1) passwords.
</para>
</listitem>
@@ -1465,8 +1490,10 @@
</para>
<para>
- The name to use for shared-memory connections. This option
- is available only on Windows.
+ The name of shared memory to use for shared-memory
+ connections. This option is available only on Windows. The
+ default name is <literal>MYSQL</literal>. The name is case
+ sensitive.
</para>
</listitem>
@@ -1511,8 +1538,8 @@
<para>
Do not use external locking (system locking). With
- external locking enabled, you must shut down the server to
- use <command>myisamchk</command>. (See
+ external locking disabled, you must shut down the server
+ to use <command>myisamchk</command>. (See
<xref linkend="stability"/>.) To avoid this requirement,
use the <literal>CHECK TABLE</literal> and <literal>REPAIR
TABLE</literal> statements to check and repair
@@ -1532,15 +1559,16 @@
<para>
This option causes the server not to use the privilege
- system at all. This gives anyone with access to the server
- <emphasis>unrestricted access</emphasis> to <emphasis>all
+ system at all, which gives anyone with access to the
+ server <emphasis>unrestricted access to all
databases</emphasis>. You can cause a running server to
start using the grant tables again by executing
<command>mysqladmin flush-privileges</command> or
<command>mysqladmin reload</command> command from a system
shell, or by issuing a MySQL <literal>FLUSH
- PRIVILEGES</literal> statement. This option also
- suppresses loading of user-defined functions (UDFs).
+ PRIVILEGES</literal> statement after connecting to the
+ server. This option also suppresses loading of
+ user-defined functions (UDFs).
</para>
</listitem>
@@ -1591,13 +1619,12 @@
<para>
Disable the <literal>NDB Cluster</literal> storage engine.
This is the default for binaries that were built with
- <literal>NDB Cluster</literal> storage engine support,
- this means that the system allocates memory and other
- resources for this storage engine only if
- <option>--skip-ndbcluster</option> is explicitly
- overridden using the <option>--ndbcluster</option> option.
- See <xref linkend="mysql-cluster-quick"/>, for an example
- of usage.
+ <literal>NDB Cluster</literal> storage engine support; the
+ server allocates memory and other resources for this
+ storage engine only if the <option>--ndbcluster</option>
+ option is given explicitly. See
+ <xref linkend="mysql-cluster-quick"/>, for an example of
+ usage.
</para>
</listitem>
@@ -1622,8 +1649,8 @@
</para>
<para>
- Windows NT-based systems only; instructs the MySQL server
- not to run as a service.
+ Available on Windows NT-based systems only; instructs the
+ MySQL server not to run as a service.
</para>
</listitem>
@@ -1644,8 +1671,9 @@
<para>
On Windows, enabling symbolic links allows you to
establish a symbolic link to a database directory by
- creating a <literal>directory.sym</literal> file that
- contains the path to the real directory. See
+ creating a
+ <filename><replaceable>db_name</replaceable>.sym</filename>
+ file that contains the path to the real directory. See
<xref linkend="windows-symbolic-links"/>.
</para>
</listitem>
@@ -1660,7 +1688,7 @@
TABLE</literal> statement. If you delete or rename the
table, the files that its symbolic links point to also
are deleted or renamed. See
- <xref linkend="create-table"/>.
+ <xref linkend="symbolic-links-to-tables"/>.
</para>
</listitem>
@@ -1695,8 +1723,9 @@
option, <literal>SHOW DATABASES</literal> is allowed to
all users, but displays each database name only if the
user has the <literal>SHOW DATABASES</literal> privilege
- or some privilege for the database. Note that any global
- privilege is a privilege for the database.
+ or some privilege for the database. Note that
+ <emphasis>any</emphasis> global privilege is considered a
+ privilege for the database.
</para>
</listitem>
@@ -1740,7 +1769,7 @@
<filename>/tmp/mysql.sock</filename>. On Windows, the
option specifies the pipe name to use when listening for
local connections that use a named pipe. The default value
- is <literal>MySQL</literal>.
+ is <literal>MySQL</literal> (not case sensitive).
</para>
</listitem>
@@ -1755,8 +1784,7 @@
</para>
<para>
- Set the SQL mode for MySQL. See
- <xref linkend="server-sql-mode"/>.
+ Set the SQL mode. See <xref linkend="server-sql-mode"/>.
</para>
</listitem>
@@ -1783,7 +1811,8 @@
</para>
<para>
- Sets the default transaction isolation level, which can be
+ Sets the default transaction isolation level. The
+ <literal>level</literal> value can be
<literal>READ-UNCOMMITTED</literal>,
<literal>READ-COMMITTED</literal>,
<literal>REPEATABLE-READ</literal>, or
@@ -1892,22 +1921,18 @@
</para>
<para>
- Note that when setting a variable to a value, MySQL might
- automatically correct it to stay within a given range, or
- adjust the value to the closest allowable value if only
+ Note that when you assign a value to a variable, MySQL might
+ automatically correct the value to stay within a given range,
+ or adjust the value to the closest allowable value if only
certain values are allowed.
</para>
- <remark role="todo">
- Determine if this is still supported at all in MySQL 5.0.
- </remark>
-
<para>
- It is also possible to set variables by using
- <option>--set-variable=<replaceable>var_name</replaceable>=<replaceable>value</replaceable></option>
- or <option>-O
- <replaceable>var_name</replaceable>=<replaceable>value</replaceable></option>
- syntax. However, this syntax is now deprecated.
+ If you want to restrict the maximum value to which a variable
+ can be set at runtime with <literal>SET</literal>, you can
+ define this by using the
+ <option>--maximum-<replaceable>var_name</replaceable></option>
+ command-line option.
</para>
<para>
@@ -1919,24 +1944,17 @@
</para>
<para>
- You can find a full description for all variables in
- <xref linkend="server-system-variables"/>. The section on
- tuning server parameters includes information on how to
- optimize them. See <xref linkend="server-parameters"/>.
- </para>
-
- <para>
You can change the values of most system variables for a
running server with the <literal>SET</literal> statement. See
<xref linkend="set-option"/>.
</para>
<para>
- If you want to restrict the maximum value that a startup
- option can be set to with <literal>SET</literal>, you can
- define this by using the
- <option>--maximum-<replaceable>var_name</replaceable></option>
- command-line option.
+ <xref linkend="server-system-variables"/>, provides a full
+ description for all variables, and additional information for
+ setting them at server startup and runtime.
+ <xref linkend="server-parameters"/>, includes information on
+ optimizing the server by tuning system variables.
</para>
</refsection>
@@ -3266,11 +3284,12 @@
</para>
<para>
- If <literal>ON</literal>, the server flushes all changes
- to disk after each SQL statement. Normally MySQL does a
- write of all changes to disk only after each SQL statement
- and lets the operating system handle the synching to disk.
- See <xref linkend="crashing"/>. This variable is set to
+ If <literal>ON</literal>, the server flushes
+ (synchronizes) all changes to disk after each SQL
+ statement. Normally, MySQL does a write of all changes to
+ disk only after each SQL statement and lets the operating
+ system handle the synchronizing to disk. See
+ <xref linkend="crashing"/>. This variable is set to
<literal>ON</literal> if you start
<command>mysqld</command> with the
<option>--flush</option> option.
@@ -5114,10 +5133,11 @@
</para>
<para>
- (Windows only.) Indicates whether or not the server allows
- shared-memory connections, and sets the identifier for the
- shared memory. This is useful when running multiple MySQL
- instances on a single physical machine.
+ (Windows only.) The name of shared memory to use for
+ shared-memory connections. This is useful when running
+ multiple MySQL instances on a single physical machine. The
+ default name is <literal>MYSQL</literal>. The name is case
+ sensitive.
</para>
</listitem>
@@ -5264,8 +5284,8 @@
<para>
<emphasis>Windows</emphasis>: The name of the named pipe
- used for local client connections. Defaults to
- <literal>mysql</literal>.
+ used for local client connections. The default value is
+ <literal>MySQL</literal> (not case sensitive).
</para>
</listitem>
@@ -12265,7 +12285,7 @@
have only an <literal>xxx</literal> symbol for the main
function can be loaded. By default, the option is off and
only UDFs that have at least one auxiliary symbol can be
- loaded. This prevents attempts at loading functions from
+ loaded; this prevents attempts at loading functions from
shared object files other than those containing legitimate
UDFs. For MySQL 5.0, this option was added in MySQL 5.0.3.
See <xref linkend="udf-security"/>.
@@ -12552,6 +12572,116 @@
</section>
+ <section id="changing-mysql-user">
+
+ <title>&title-changing-mysql-user;</title>
+
+ <indexterm>
+ <primary>starting</primary>
+ <secondary><command>mysqld</command></secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary><command>mysqld</command></primary>
+ <secondary>starting</secondary>
+ </indexterm>
+
+ <para>
+ On Windows, you can run the server as a Windows service using a
+ normal user account.
+ </para>
+
+ <para>
+ On Unix, the MySQL server <command>mysqld</command> can be
+ started and run by any user. However, you should avoid running
+ the server as the Unix <literal>root</literal> user for security
+ reasons. To change <command>mysqld</command> to run as a normal
+ unprivileged Unix user <replaceable>user_name</replaceable>, you
+ must do the following:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ Stop the server if it's running (use <command>mysqladmin
+ shutdown</command>).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Change the database directories and files so that
+ <replaceable>user_name</replaceable> has privileges to read
+ and write files in them (you might need to do this as the
+ Unix <literal>root</literal> user):
+ </para>
+
+<programlisting>
+shell> <userinput>chown -R <replaceable>user_name</replaceable> <replaceable>/path/to/mysql/datadir</replaceable></userinput>
+</programlisting>
+
+ <para>
+ If you do not do this, the server will not be able to access
+ databases or tables when it runs as
+ <replaceable>user_name</replaceable>.
+ </para>
+
+ <para>
+ If directories or files within the MySQL data directory are
+ symbolic links, you'll also need to follow those links and
+ change the directories and files they point to.
+ <literal>chown -R</literal> might not follow symbolic links
+ for you.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Start the server as user
+ <replaceable>user_name</replaceable>. If you are using MySQL
+ 3.22 or later, another alternative is to start
+ <command>mysqld</command> as the Unix
+ <literal>root</literal> user and use the
+ <option>--user=<replaceable>user_name</replaceable></option>
+ option. <command>mysqld</command> starts up, then switches
+ to run as the Unix user <replaceable>user_name</replaceable>
+ before accepting any connections.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ To start the server as the given user automatically at
+ system startup time, specify the username by adding a
+ <literal>user</literal> option to the
+ <literal>[mysqld]</literal> group of the
+ <filename>/etc/my.cnf</filename> option file or the
+ <filename>my.cnf</filename> option file in the server's data
+ directory. For example:
+ </para>
+
+<programlisting>
+[mysqld]
+user=<replaceable>user_name</replaceable>
+</programlisting>
+ </listitem>
+
+ </orderedlist>
+
+ <para>
+ If your Unix machine itself isn't secured, you should assign
+ passwords to the MySQL <literal>root</literal> accounts in the
+ grant tables. Otherwise, any user with a login account on that
+ machine can run the <command>mysql</command> client with a
+ <option>--user=root</option> option and perform any operation.
+ (It is a good idea to assign passwords to MySQL accounts in any
+ case, but especially so when other login accounts exist on the
+ server host.) See <xref linkend="post-installation"/>.
+ </para>
+
+ </section>
+
</section>
<section id="privilege-system">
Modified: trunk/refman-5.0/problems.xml
===================================================================
--- trunk/refman-5.0/problems.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-5.0/problems.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -2086,116 +2086,6 @@
</section>
- <section id="changing-mysql-user">
-
- <title>&title-changing-mysql-user;</title>
-
- <indexterm>
- <primary>starting</primary>
- <secondary><command>mysqld</command></secondary>
- </indexterm>
-
- <indexterm>
- <primary><command>mysqld</command></primary>
- <secondary>starting</secondary>
- </indexterm>
-
- <para>
- On Windows, you can run the server as a Windows service using a
- normal user account.
- </para>
-
- <para>
- On Unix, the MySQL server <command>mysqld</command> can be
- started and run by any user. However, you should avoid running
- the server as the Unix <literal>root</literal> user for security
- reasons. In order to change <command>mysqld</command> to run as
- a normal unprivileged Unix user
- <replaceable>user_name</replaceable>, you must do the following:
- </para>
-
- <orderedlist>
-
- <listitem>
- <para>
- Stop the server if it's running (use <command>mysqladmin
- shutdown</command>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- Change the database directories and files so that
- <replaceable>user_name</replaceable> has privileges to read
- and write files in them (you might need to do this as the
- Unix <literal>root</literal> user):
- </para>
-
-<programlisting>
-shell> <userinput>chown -R <replaceable>user_name</replaceable> <replaceable>/path/to/mysql/datadir</replaceable></userinput>
-</programlisting>
-
- <para>
- If you do not do this, the server is not able to access
- databases or tables when it runs as
- <replaceable>user_name</replaceable>.
- </para>
-
- <para>
- If directories or files within the MySQL data directory are
- symbolic links, you'll also need to follow those links and
- change the directories and files they point to.
- <literal>chown -R</literal> might not follow symbolic links
- for you.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Start the server as user
- <replaceable>user_name</replaceable>. If you are using MySQL
- 3.22 or later, another alternative is to start
- <command>mysqld</command> as the Unix
- <literal>root</literal> user and use the
- <option>--user=<replaceable>user_name</replaceable></option>
- option. <command>mysqld</command> starts up, then switches
- to run as the Unix user <replaceable>user_name</replaceable>
- before accepting any connections.
- </para>
- </listitem>
-
- <listitem>
- <para>
- To start the server as the given user automatically at
- system startup time, specify the username by adding a
- <literal>user</literal> option to the
- <literal>[mysqld]</literal> group of the
- <filename>/etc/my.cnf</filename> option file or the
- <filename>my.cnf</filename> option file in the server's data
- directory. For example:
- </para>
-
-<programlisting>
-[mysqld]
-user=<replaceable>user_name</replaceable>
-</programlisting>
- </listitem>
-
- </orderedlist>
-
- <para>
- If your Unix machine itself isn't secured, you should assign
- passwords to the MySQL <literal>root</literal> accounts in the
- grant tables. Otherwise, any user with a login account on that
- machine can run the <command>mysql</command> client with a
- <option>--user=root</option> option and perform any operation.
- (It is a good idea to assign passwords to MySQL accounts in any
- case, but especially so when other login accounts exist on the
- server host.) See <xref linkend="post-installation"/>.
- </para>
-
- </section>
-
<section id="file-permissions">
<title>&title-file-permissions;</title>
Modified: trunk/refman-5.0/using-mysql-programs.xml
===================================================================
--- trunk/refman-5.0/using-mysql-programs.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-5.0/using-mysql-programs.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -869,13 +869,19 @@
<para>
MySQL looks for option files in the order just described and
reads any that exist. If an option file that you want to use
- does not exist, create it with a plain text editor. If multiple
- option files exist, an option specified in a file read later
- takes precedence over the same option specified in a file read
- earlier.
+ does not exist, create it with a plain text editor.
</para>
<para>
+ If multiple instances of a given option are found, the last
+ instance takes precedence. There is one exception: For
+ <command>mysqld</command>, the <emphasis>first</emphasis>
+ instance of the <option>--user</option> option is used as a
+ security precaution, to keep a user specified on an option file
+ from being overridden on the command line.
+ </para>
+
+ <para>
<emphasis role="bold">Note</emphasis>: On Unix platforms, MySQL
ignores configuration files that are world-writable. This is
intentional, and acts as a security measure.
Modified: trunk/refman-5.1/client-utility-programs.xml
===================================================================
--- trunk/refman-5.1/client-utility-programs.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-5.1/client-utility-programs.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -538,7 +538,7 @@
</para>
<programlisting>
-shell> <userinput>myisamchk /path/to/datadir/*/*.MYI</userinput>
+shell> <userinput>myisamchk <replaceable>/path/to/datadir</replaceable>/*/*.MYI</userinput>
</programlisting>
<para>
@@ -547,7 +547,7 @@
</para>
<programlisting>
-shell> <userinput>myisamchk --silent --fast /path/to/datadir/*/*.MYI</userinput>
+shell> <userinput>myisamchk --silent --fast <replaceable>/path/to/datadir</replaceable>/*/*.MYI</userinput>
</programlisting>
<para>
@@ -558,9 +558,9 @@
<programlisting>
shell> <userinput>myisamchk --silent --force --fast --update-state \</userinput>
- <userinput>-O key_buffer=64M -O sort_buffer=64M \</userinput>
- <userinput>-O read_buffer=1M -O write_buffer=1M \</userinput>
- <userinput>/path/to/datadir/*/*.MYI</userinput>
+ <userinput>--key_buffer_size=64M --sort_buffer_size=64M \</userinput>
+ <userinput>--read_buffer_size=1M --write_buffer_size=1M \</userinput>
+ <userinput><replaceable>/path/to/datadir/</replaceable>*/*.MYI</userinput>
</programlisting>
<para>
@@ -3054,7 +3054,7 @@
<secondary><command>mysql</command> option</secondary>
</indexterm>
- <option>--one-database</option>, <option>-O</option>
+ <option>--one-database</option>, <option>-o</option>
</para>
<para>
Modified: trunk/refman-5.1/database-administration.xml
===================================================================
--- trunk/refman-5.1/database-administration.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-5.1/database-administration.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -480,7 +480,7 @@
have only an <literal>xxx</literal> symbol for the main
function can be loaded. By default, the option is off and
only UDFs that have at least one auxiliary symbol can be
- loaded. This prevents attempts at loading functions from
+ loaded; this prevents attempts at loading functions from
shared object files other than those containing legitimate
UDFs. See <xref linkend="udf-security"/>.
</para>
@@ -493,9 +493,11 @@
<para>
Use standard (ANSI) SQL syntax instead of MySQL syntax.
- See <xref linkend="ansi-mode"/>. For more precise control
- over the server SQL mode, use the
- <option>--sql-mode</option> option instead.
+ For more precise control over the server SQL mode, use the
+ <option>--sql-mode</option> option instead. See
+ <xref linkend="ansi-mode"/>, and
+ <xref
+linkend="server-sql-mode"/>.
</para>
</listitem>
@@ -507,7 +509,7 @@
<para>
The path to the MySQL installation directory. All paths
- are usually resolved relative to this.
+ are usually resolved relative to this directory.
</para>
</listitem>
@@ -549,9 +551,10 @@
</para>
<para>
- Determine whether to use row-based or statement-based
- replication (statement-based is default). Available as of
- MySQL 5.1.5. See <xref linkend="replication-row-based"/>.
+ Specify whether to use row-based or statement-based
+ replication (statement-based is default). See
+ <xref linkend="replication-row-based"/>. This option was
+ added in MySQL 5.1.5.
</para>
</listitem>
@@ -564,8 +567,9 @@
Specify the maximum size of a row-based binary log event,
in bytes. Rows are grouped into events smaller than this
size if possible. The value should be a multiple of 256.
- The default is 1024. Available as of MySQL 5.1.5. See
- <xref linkend="replication-row-based"/>.
+ The default is 1024. See
+ <xref linkend="replication-row-based"/>. This option was
+ added in MySQL 5.1.5.
</para>
</listitem>
@@ -699,6 +703,7 @@
<command>mysqld</command> is doing. The
<replaceable>debug_options</replaceable> string often is
<literal>'d:t:o,<replaceable>file_name</replaceable>'</literal>.
+ The default is <literal>'d:t:i:o,mysqld.trace'</literal>.
See <xref linkend="making-trace-files"/>.
</para>
</listitem>
@@ -754,7 +759,7 @@
<listitem>
<para>
- <option>--default-time-zone=<replaceable>type</replaceable></option>
+ <option>--default-time-zone=<replaceable>zone</replaceable></option>
</para>
<para>
@@ -772,13 +777,12 @@
</para>
<para>
- How the <literal>DELAY_KEY_WRITE</literal> table option
- should be used. Delayed key writing causes key buffers not
- to be flushed between writes for <literal>MyISAM</literal>
- tables. <literal>OFF</literal> disables delayed key
- writes. <literal>ON</literal> enables delayed key writes
- for those tables that were created with the
- <literal>DELAY_KEY_WRITE</literal> option.
+ Specify how to use delayed key writes. Delayed key writing
+ causes key buffers not to be flushed between writes for
+ <literal>MyISAM</literal> tables. <literal>OFF</literal>
+ disables delayed key writes. <literal>ON</literal> enables
+ delayed key writes for those tables that were created with
+ the <literal>DELAY_KEY_WRITE</literal> option.
<literal>ALL</literal> delays key writes for all
<literal>MyISAM</literal> tables. See
<xref linkend="server-parameters"/>, and
@@ -789,8 +793,8 @@
<emphasis role="bold">Note</emphasis>: If you set this
variable to <literal>ALL</literal>, you should not use
<literal>MyISAM</literal> tables from within another
- program (such as from another MySQL server or with
- <command>myisamchk</command>) when the table is in use.
+ program (such as another MySQL server or
+ <command>myisamchk</command>) when the tables are in use.
Doing so leads to index corruption.
</para>
</listitem>
@@ -801,9 +805,9 @@
</para>
<para>
- Read the default keys used by
- <literal>DES_ENCRYPT()</literal> and
- <literal>DES_DECRYPT()</literal> from this file.
+ Read the default DES keys from this file. These keys are
+ used by the <literal>DES_ENCRYPT()</literal> and
+ <literal>DES_DECRYPT()</literal> functions.
</para>
</listitem>
@@ -839,7 +843,7 @@
</para>
<para>
- This is a bit mask of different flags you can use for
+ This is a bit mask of different flags that you can use for
debugging the <command>mysqld</command> server. Do not use
this option unless you know <emphasis>exactly</emphasis>
what it does!
@@ -899,10 +903,10 @@
<para>
The easiest way to ensure this is to always use
<option>--external-locking</option> together with
- <option>--delay-key-write=OFF
- --query-cache-size=0</option>. (This is not done by
- default because in many setups it's useful to have a
- mixture of the above options.)
+ <option>--delay-key-write=OFF</option> and
+ <option>--query-cache-size=0</option>. (This is not done
+ by default because in many setups it is useful to have a
+ mixture of the preceding options.)
</para>
</listitem>
@@ -912,10 +916,10 @@
</para>
<para>
- Flush all changes to disk after each SQL statement.
- Normally MySQL does a write of all changes to disk only
- after each SQL statement and lets the operating system
- handle the synching to disk. See
+ Flush (synchronize) all changes to disk after each SQL
+ statement. Normally MySQL does a write of all changes to
+ disk only after each SQL statement and lets the operating
+ system handle the synchronizing to disk. See
<xref linkend="crashing"/>.
</para>
</listitem>
@@ -934,12 +938,23 @@
<listitem>
<para>
+ <option>--innodb-<replaceable>xxx</replaceable></option>
+ </para>
+
+ <para>
+ The <literal>InnoDB</literal> options are listed in
+ <xref linkend="innodb-parameters"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<option>--language=<replaceable>lang_name</replaceable>,
-L <replaceable>lang_name</replaceable></option>
</para>
<para>
- Client error messages in given language.
+ Return client error messages in the given language.
<replaceable>lang_name</replaceable> can be given as the
language name or as the full pathname to the directory
where the language files are installed. See
@@ -957,7 +972,7 @@
memory pages greater than the default (usually 4KB). The
actual implementation of this support depends on the
underlying hardware and OS. Applications that perform a
- lot of memory access may obtain performance improvements
+ lot of memory accesses may obtain performance improvements
by using large pages due to reduced Translation Lookaside
Buffer (TLB) misses.
</para>
@@ -988,9 +1003,9 @@
</para>
<para>
- Log connections and queries to this file. See
- <xref linkend="query-log"/>. If you don't specify a
- filename, MySQL uses
+ Log connections and SQL statements received from clients
+ to this file. See <xref linkend="query-log"/>. If you omit
+ the filename, MySQL uses
<filename><replaceable>host_name</replaceable>.log</filename>
as the filename.
</para>
@@ -998,17 +1013,24 @@
<listitem>
<para>
- <option>--log-bin=[<replaceable>file_name</replaceable>]</option>
+ <option>--log-bin=[<replaceable>base_name</replaceable>]</option>
</para>
<para>
- The binary log file. Log all queries that change data to
- this file. Used for backup and replication. See
- <xref linkend="binary-log"/>. It is recommended to specify
- a filename (see <xref linkend="open-bugs"/>, for the
- reason) otherwise MySQL uses
+ Enable binary logging. The server logs all statements that
+ change data to the binary log, which is used for backup
+ and replication. See <xref linkend="binary-log"/>.
+ </para>
+
+ <para>
+ The option value, if given, is the basename for the log
+ sequence. The server creates binary log files in sequence
+ by adding a numeric suffix to the basename. It is
+ recommended that you specify a basename (see
+ <xref linkend="open-bugs"/>, for the reason). Otherwise,
+ MySQL uses
<filename><replaceable>host_name</replaceable>-bin</filename>
- as the log file basename.
+ as the basename.
</para>
</listitem>
@@ -1019,8 +1041,8 @@
<para>
The index file for binary log filenames. See
- <xref linkend="binary-log"/>. If you don't specify a
- filename, and if you didn't specify one in
+ <xref linkend="binary-log"/>. If you omit the filename,
+ and if you didn't specify one with
<option>--log-bin</option>, MySQL uses
<filename><replaceable>host_name</replaceable>-bin.index</filename>
as the filename.
@@ -1050,12 +1072,11 @@
<para>
Log errors and startup messages to this file. See
- <xref linkend="error-log"/>. If you don't specify a
- filename, MySQL uses
- <filename><replaceable>host_name</replaceable>.err</filename>
- as the filename. If the filename has no extension, an
- extension of <filename>.err</filename> is added to the
- name.
+ <xref linkend="error-log"/>. If you omit the filename,
+ MySQL uses
+ <filename><replaceable>host_name</replaceable>.err</filename>.
+ If the filename has no extension, the server adds an
+ extension of <filename>.err</filename>.
</para>
</listitem>
@@ -1077,12 +1098,12 @@
</para>
<para>
- Log extra information to whichever of the update log,
- binary update log, and slow queries log that have been
- activated. For example, username and timestamp are logged
- for all queries. This option is deprecated, as it now
- represents the default logging behavior. (See the
- description for <option>--log-short-format</option>.) The
+ Log extra information to the update log, binary update
+ log, and slow query log, if they have been activated. For
+ example, the username and timestamp are logged for all
+ queries. This option is deprecated, as it now represents
+ the default logging behavior. (See the description for
+ <option>--log-short-format</option>.) The
<option>--log-queries-not-using-indexes</option> option is
available for the purpose of logging queries that do not
use indexes to the slow query log.
@@ -1096,9 +1117,9 @@
<para>
If you are using this option with
- <option>--log-slow-queries</option>, then queries that are
- not using indexes also are logged to the slow query log.
- See <xref linkend="slow-query-log"/>.
+ <option>--log-slow-queries</option>, queries that do not
+ use indexes are logged to the slow query log. See
+ <xref linkend="slow-query-log"/>.
</para>
</listitem>
@@ -1108,10 +1129,10 @@
</para>
<para>
- Log less information to whichever of the update log,
- binary update log, and slow queries log that have been
- activated. For example, the username and timestamp are not
- logged for queries.
+ Log less information to the update log, binary update log,
+ and slow query log, if they have been activated. For
+ example, the username and timestamp are not logged for
+ queries.
</para>
</listitem>
@@ -1167,14 +1188,15 @@
</para>
<para>
- Table-modifying operations (<literal>INSERT</literal>,
- <literal>REPLACE</literal>, <literal>DELETE</literal>,
- <literal>UPDATE</literal>) have lower priority than
- selects. This can also be done via <literal>{INSERT |
- REPLACE | DELETE | UPDATE} LOW_PRIORITY ...</literal> to
- lower the priority of only one query, or by <literal>SET
- LOW_PRIORITY_UPDATES=1</literal> to change the priority in
- one thread. See <xref linkend="table-locking"/>.
+ Give table-modifying operations
+ (<literal>INSERT</literal>, <literal>REPLACE</literal>,
+ <literal>DELETE</literal>, <literal>UPDATE</literal>)
+ lower priority than selects. This can also be done via
+ <literal>{INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY
+ ...</literal> to lower the priority of only one query, or
+ by <literal>SET LOW_PRIORITY_UPDATES=1</literal> to change
+ the priority in one thread. See
+ <xref linkend="table-locking"/>.
</para>
</listitem>
@@ -1191,14 +1213,15 @@
causing <command>mysqld</command> to swap on disk. Note
that use of this option requires that you run the server
as <literal>root</literal>, which is normally not a good
- idea for security reasons.
+ idea for security reasons. See
+ <xref linkend="changing-mysql-user"/>.
</para>
</listitem>
<listitem>
<para>
<option>--myisam-recover
- [=<replaceable>option</replaceable>[,<replaceable>option</replaceable>...]]]</option>
+ [=<replaceable>option</replaceable>[,<replaceable>option</replaceable>]...]]</option>
</para>
<para>
@@ -1208,14 +1231,15 @@
<literal>FORCE</literal>, or <literal>QUICK</literal>. If
you specify multiple values, separate them by commas. You
can also use a value of <literal>""</literal> to disable
- this option. If this option is used,
- <command>mysqld</command>, when it opens a
- <literal>MyISAM</literal> table, checks whether the table
- is marked as crashed or wasn't closed properly. (The last
- option works only if you are running with external locking
- disabled.) If this is the case, <command>mysqld</command>
- runs a check on the table. If the table was corrupted,
- <command>mysqld</command> attempts to repair it.
+ this option. If this option is used, each time
+ <command>mysqld</command> opens a
+ <literal>MyISAM</literal> table, it checks whether the
+ table is marked as crashed or wasn't closed properly. (The
+ last option works only if you are running with external
+ locking disabled.) If this is the case,
+ <command>mysqld</command> runs a check on the table. If
+ the table was corrupted, <command>mysqld</command>
+ attempts to repair it.
</para>
<para>
@@ -1256,10 +1280,10 @@
</informaltable>
<para>
- Before a table is automatically repaired, MySQL adds a
- note about this in the error log. If you want to be able
- to recover from most problems without user intervention,
- you should use the options
+ Before the server automatically repairs a table, it writes
+ a note about the repair to the error log. If you want to
+ be able to recover from most problems without user
+ intervention, you should use the options
<literal>BACKUP,FORCE</literal>. This forces a repair of a
table even if some rows would be deleted, but it keeps the
old data file as a backup so that you can later examine
@@ -1292,9 +1316,9 @@
<para>
If the binary includes support for the <literal>NDB
- Cluster</literal> storage engine, the default disabling of
- support for MySQL Cluster can be overruled by using this
- option. See <xref linkend="ndbcluster"/>.
+ Cluster</literal> storage engine, this option enables the
+ engine, which is disabled by default. See
+ <xref linkend="ndbcluster"/>.
</para>
</listitem>
@@ -1343,16 +1367,18 @@
</para>
<para>
- To change the number of file descriptors available to
- <command>mysqld</command>. If this is not set or set to 0,
- <command>mysqld</command> uses this value to reserve file
- descriptors to use with <literal>setrlimit()</literal>. If
- this value is 0 then <command>mysqld</command> reserves
- <literal>max_connections*5</literal> or
- <literal>max_connections + table_open_cache*2</literal>
- (whichever is larger) number of files. You should try
- increasing this if <command>mysqld</command> gives you the
- error <literal>Too many open files</literal>.
+ Change the number of file descriptors available to
+ <command>mysqld</command>. If this option is not set or is
+ set to 0, <command>mysqld</command> uses the value to
+ reserve file descriptors with
+ <literal>setrlimit()</literal>. If the value is 0,
+ <command>mysqld</command> reserves
+ <literal>max_connections×5</literal> or
+ <literal>max_connections +
+ table_open_cache×2</literal> files (whichever is
+ larger). You should try increasing this value if
+ <command>mysqld</command> gives you the error <literal>Too
+ many open files</literal>.
</para>
</listitem>
@@ -1362,8 +1388,9 @@
</para>
<para>
- The pathname of the process ID file used by
- <command>mysqld_safe</command>.
+ The pathname of the process ID file. This file is used by
+ other programs such as <command>mysqld_safe</command> to
+ determine the server's process ID.
</para>
</listitem>
@@ -1387,7 +1414,7 @@
</para>
<para>
- When the server is stopped, on some systems the TCP/IP
+ On some systems, when the server is stopped, the TCP/IP
port might not become available immediately. If the server
is restarted quickly afterward, its attempt to reopen the
port can fail. This option indicates how many seconds the
@@ -1438,8 +1465,8 @@
</para>
<para>
- Disallow authentication for accounts that have old
- (pre-4.1) passwords.
+ Disallow authentication by clients that attempt to use
+ accounts that have old (pre-4.1) passwords.
</para>
</listitem>
@@ -1460,8 +1487,10 @@
</para>
<para>
- The name to use for shared-memory connections. This option
- is available only on Windows.
+ The name of shared memory to use for shared-memory
+ connections. This option is available only on Windows. The
+ default name is <literal>MYSQL</literal>. The name is case
+ sensitive.
</para>
</listitem>
@@ -1506,8 +1535,8 @@
<para>
Do not use external locking (system locking). With
- external locking enabled, you must shut down the server to
- use <command>myisamchk</command>. (See
+ external locking disabled, you must shut down the server
+ to use <command>myisamchk</command>. (See
<xref linkend="stability"/>.) To avoid this requirement,
use the <literal>CHECK TABLE</literal> and <literal>REPAIR
TABLE</literal> statements to check and repair
@@ -1527,16 +1556,16 @@
<para>
This option causes the server not to use the privilege
- system at all. This gives anyone with access to the server
- <emphasis>unrestricted access</emphasis> to <emphasis>all
+ system at all, which gives anyone with access to the
+ server <emphasis>unrestricted access to all
databases</emphasis>. You can cause a running server to
start using the grant tables again by executing
<command>mysqladmin flush-privileges</command> or
<command>mysqladmin reload</command> command from a system
shell, or by issuing a MySQL <literal>FLUSH
- PRIVILEGES</literal> statement. This option also
- suppresses loading of plugins and user-defined functions
- (UDFs).
+ PRIVILEGES</literal> statement after connecting to the
+ server. This option also suppresses loading of plugins and
+ user-defined functions (UDFs).
</para>
</listitem>
@@ -1587,13 +1616,12 @@
<para>
Disable the <literal>NDB Cluster</literal> storage engine.
This is the default for binaries that were built with
- <literal>NDB Cluster</literal> storage engine support,
- this means that the system allocates memory and other
- resources for this storage engine only if
- <option>--skip-ndbcluster</option> is explicitly
- overridden using the <option>--ndbcluster</option> option.
- See <xref linkend="mysql-cluster-quick"/>, for an example
- of usage.
+ <literal>NDB Cluster</literal> storage engine support; the
+ server allocates memory and other resources for this
+ storage engine only if the <option>--ndbcluster</option>
+ option is given explicitly. See
+ <xref linkend="mysql-cluster-quick"/>, for an example of
+ usage.
</para>
</listitem>
@@ -1618,8 +1646,8 @@
</para>
<para>
- Windows NT-based systems only; instructs the MySQL server
- not to run as a service.
+ Available on Windows NT-based systems only; instructs the
+ MySQL server not to run as a service.
</para>
</listitem>
@@ -1640,8 +1668,9 @@
<para>
On Windows, enabling symbolic links allows you to
establish a symbolic link to a database directory by
- creating a <literal>directory.sym</literal> file that
- contains the path to the real directory. See
+ creating a
+ <filename><replaceable>db_name</replaceable>.sym</filename>
+ file that contains the path to the real directory. See
<xref linkend="windows-symbolic-links"/>.
</para>
</listitem>
@@ -1656,7 +1685,7 @@
TABLE</literal> statement. If you delete or rename the
table, the files that its symbolic links point to also
are deleted or renamed. See
- <xref linkend="create-table"/>.
+ <xref linkend="symbolic-links-to-tables"/>.
</para>
</listitem>
@@ -1691,8 +1720,9 @@
option, <literal>SHOW DATABASES</literal> is allowed to
all users, but displays each database name only if the
user has the <literal>SHOW DATABASES</literal> privilege
- or some privilege for the database. Note that any global
- privilege is a privilege for the database.
+ or some privilege for the database. Note that
+ <emphasis>any</emphasis> global privilege is considered a
+ privilege for the database.
</para>
</listitem>
@@ -1736,7 +1766,7 @@
<filename>/tmp/mysql.sock</filename>. On Windows, the
option specifies the pipe name to use when listening for
local connections that use a named pipe. The default value
- is <literal>MySQL</literal>.
+ is <literal>MySQL</literal> (not case sensitive).
</para>
</listitem>
@@ -1751,8 +1781,7 @@
</para>
<para>
- Set the SQL mode for MySQL. See
- <xref linkend="server-sql-mode"/>.
+ Set the SQL mode. See <xref linkend="server-sql-mode"/>.
</para>
</listitem>
@@ -1779,7 +1808,8 @@
</para>
<para>
- Sets the default transaction isolation level, which can be
+ Sets the default transaction isolation level. The
+ <literal>level</literal> value can be
<literal>READ-UNCOMMITTED</literal>,
<literal>READ-COMMITTED</literal>,
<literal>REPEATABLE-READ</literal>, or
@@ -1888,18 +1918,18 @@
</para>
<para>
- Note that when setting a variable to a value, MySQL might
- automatically correct it to stay within a given range, or
- adjust the value to the closest allowable value if only
+ Note that when you assign a value to a variable, MySQL might
+ automatically correct the value to stay within a given range,
+ or adjust the value to the closest allowable value if only
certain values are allowed.
</para>
<para>
- It is also possible to set variables by using
- <option>--set-variable=<replaceable>var_name</replaceable>=<replaceable>value</replaceable></option>
- or <option>-O
- <replaceable>var_name</replaceable>=<replaceable>value</replaceable></option>
- syntax. However, this syntax is now deprecated.
+ If you want to restrict the maximum value to which a variable
+ can be set at runtime with <literal>SET</literal>, you can
+ define this by using the
+ <option>--maximum-<replaceable>var_name</replaceable></option>
+ command-line option.
</para>
<para>
@@ -1911,24 +1941,17 @@
</para>
<para>
- You can find a full description for all variables in
- <xref linkend="server-system-variables"/>. The section on
- tuning server parameters includes information on how to
- optimize them. See <xref linkend="server-parameters"/>.
- </para>
-
- <para>
You can change the values of most system variables for a
running server with the <literal>SET</literal> statement. See
<xref linkend="set-option"/>.
</para>
<para>
- If you want to restrict the maximum value that a startup
- option can be set to with <literal>SET</literal>, you can
- define this by using the
- <option>--maximum-<replaceable>var_name</replaceable></option>
- command-line option.
+ <xref linkend="server-system-variables"/>, provides a full
+ description for all variables, and additional information for
+ setting them at server startup and runtime.
+ <xref linkend="server-parameters"/>, includes information on
+ optimizing the server by tuning system variables.
</para>
</refsection>
@@ -3292,11 +3315,12 @@
</para>
<para>
- If <literal>ON</literal>, the server flushes all changes
- to disk after each SQL statement. Normally MySQL does a
- write of all changes to disk only after each SQL statement
- and lets the operating system handle the synching to disk.
- See <xref linkend="crashing"/>. This variable is set to
+ If <literal>ON</literal>, the server flushes
+ (synchronizes) all changes to disk after each SQL
+ statement. Normally, MySQL does a write of all changes to
+ disk only after each SQL statement and lets the operating
+ system handle the synchronizing to disk. See
+ <xref linkend="crashing"/>. This variable is set to
<literal>ON</literal> if you start
<command>mysqld</command> with the
<option>--flush</option> option.
@@ -5155,10 +5179,11 @@
</para>
<para>
- (Windows only.) Indicates whether or not the server allows
- shared-memory connections, and sets the identifier for the
- shared memory. This is useful when running multiple MySQL
- instances on a single physical machine.
+ (Windows only.) The name of shared memory to use for
+ shared-memory connections. This is useful when running
+ multiple MySQL instances on a single physical machine. The
+ default name is <literal>MYSQL</literal>. The name is case
+ sensitive.
</para>
</listitem>
@@ -5301,8 +5326,8 @@
<para>
<emphasis>Windows</emphasis>: The name of the named pipe
- used for local client connections. Defaults to
- <literal>mysql</literal>.
+ used for local client connections. The default value is
+ <literal>MySQL</literal> (not case sensitive).
</para>
</listitem>
@@ -12304,7 +12329,7 @@
have only an <literal>xxx</literal> symbol for the main
function can be loaded. By default, the option is off and
only UDFs that have at least one auxiliary symbol can be
- loaded. This prevents attempts at loading functions from
+ loaded; this prevents attempts at loading functions from
shared object files other than those containing legitimate
UDFs. See <xref linkend="udf-security"/>.
</para>
@@ -12590,6 +12615,116 @@
</section>
+ <section id="changing-mysql-user">
+
+ <title>&title-changing-mysql-user;</title>
+
+ <indexterm>
+ <primary>starting</primary>
+ <secondary><command>mysqld</command></secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary><command>mysqld</command></primary>
+ <secondary>starting</secondary>
+ </indexterm>
+
+ <para>
+ On Windows, you can run the server as a Windows service using a
+ normal user account.
+ </para>
+
+ <para>
+ On Unix, the MySQL server <command>mysqld</command> can be
+ started and run by any user. However, you should avoid running
+ the server as the Unix <literal>root</literal> user for security
+ reasons. To change <command>mysqld</command> to run as a normal
+ unprivileged Unix user <replaceable>user_name</replaceable>, you
+ must do the following:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ Stop the server if it's running (use <command>mysqladmin
+ shutdown</command>).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Change the database directories and files so that
+ <replaceable>user_name</replaceable> has privileges to read
+ and write files in them (you might need to do this as the
+ Unix <literal>root</literal> user):
+ </para>
+
+<programlisting>
+shell> <userinput>chown -R <replaceable>user_name</replaceable> <replaceable>/path/to/mysql/datadir</replaceable></userinput>
+</programlisting>
+
+ <para>
+ If you do not do this, the server will not be able to access
+ databases or tables when it runs as
+ <replaceable>user_name</replaceable>.
+ </para>
+
+ <para>
+ If directories or files within the MySQL data directory are
+ symbolic links, you'll also need to follow those links and
+ change the directories and files they point to.
+ <literal>chown -R</literal> might not follow symbolic links
+ for you.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Start the server as user
+ <replaceable>user_name</replaceable>. If you are using MySQL
+ 3.22 or later, another alternative is to start
+ <command>mysqld</command> as the Unix
+ <literal>root</literal> user and use the
+ <option>--user=<replaceable>user_name</replaceable></option>
+ option. <command>mysqld</command> starts up, then switches
+ to run as the Unix user <replaceable>user_name</replaceable>
+ before accepting any connections.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ To start the server as the given user automatically at
+ system startup time, specify the username by adding a
+ <literal>user</literal> option to the
+ <literal>[mysqld]</literal> group of the
+ <filename>/etc/my.cnf</filename> option file or the
+ <filename>my.cnf</filename> option file in the server's data
+ directory. For example:
+ </para>
+
+<programlisting>
+[mysqld]
+user=<replaceable>user_name</replaceable>
+</programlisting>
+ </listitem>
+
+ </orderedlist>
+
+ <para>
+ If your Unix machine itself isn't secured, you should assign
+ passwords to the MySQL <literal>root</literal> accounts in the
+ grant tables. Otherwise, any user with a login account on that
+ machine can run the <command>mysql</command> client with a
+ <option>--user=root</option> option and perform any operation.
+ (It is a good idea to assign passwords to MySQL accounts in any
+ case, but especially so when other login accounts exist on the
+ server host.) See <xref linkend="post-installation"/>.
+ </para>
+
+ </section>
+
</section>
<section id="privilege-system">
Modified: trunk/refman-5.1/problems.xml
===================================================================
--- trunk/refman-5.1/problems.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-5.1/problems.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -2086,116 +2086,6 @@
</section>
- <section id="changing-mysql-user">
-
- <title>&title-changing-mysql-user;</title>
-
- <indexterm>
- <primary>starting</primary>
- <secondary><command>mysqld</command></secondary>
- </indexterm>
-
- <indexterm>
- <primary><command>mysqld</command></primary>
- <secondary>starting</secondary>
- </indexterm>
-
- <para>
- On Windows, you can run the server as a Windows service using a
- normal user account.
- </para>
-
- <para>
- On Unix, the MySQL server <command>mysqld</command> can be
- started and run by any user. However, you should avoid running
- the server as the Unix <literal>root</literal> user for security
- reasons. In order to change <command>mysqld</command> to run as
- a normal unprivileged Unix user
- <replaceable>user_name</replaceable>, you must do the following:
- </para>
-
- <orderedlist>
-
- <listitem>
- <para>
- Stop the server if it's running (use <command>mysqladmin
- shutdown</command>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- Change the database directories and files so that
- <replaceable>user_name</replaceable> has privileges to read
- and write files in them (you might need to do this as the
- Unix <literal>root</literal> user):
- </para>
-
-<programlisting>
-shell> <userinput>chown -R <replaceable>user_name</replaceable> <replaceable>/path/to/mysql/datadir</replaceable></userinput>
-</programlisting>
-
- <para>
- If you do not do this, the server is not able to access
- databases or tables when it runs as
- <replaceable>user_name</replaceable>.
- </para>
-
- <para>
- If directories or files within the MySQL data directory are
- symbolic links, you'll also need to follow those links and
- change the directories and files they point to.
- <literal>chown -R</literal> might not follow symbolic links
- for you.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Start the server as user
- <replaceable>user_name</replaceable>. If you are using MySQL
- 3.22 or later, another alternative is to start
- <command>mysqld</command> as the Unix
- <literal>root</literal> user and use the
- <option>--user=<replaceable>user_name</replaceable></option>
- option. <command>mysqld</command> starts up, then switches
- to run as the Unix user <replaceable>user_name</replaceable>
- before accepting any connections.
- </para>
- </listitem>
-
- <listitem>
- <para>
- To start the server as the given user automatically at
- system startup time, specify the username by adding a
- <literal>user</literal> option to the
- <literal>[mysqld]</literal> group of the
- <filename>/etc/my.cnf</filename> option file or the
- <filename>my.cnf</filename> option file in the server's data
- directory. For example:
- </para>
-
-<programlisting>
-[mysqld]
-user=<replaceable>user_name</replaceable>
-</programlisting>
- </listitem>
-
- </orderedlist>
-
- <para>
- If your Unix machine itself isn't secured, you should assign
- passwords to the MySQL <literal>root</literal> accounts in the
- grant tables. Otherwise, any user with a login account on that
- machine can run the <command>mysql</command> client with a
- <option>--user=root</option> option and perform any operation.
- (It is a good idea to assign passwords to MySQL accounts in any
- case, but especially so when other login accounts exist on the
- server host.) See <xref linkend="post-installation"/>.
- </para>
-
- </section>
-
<section id="file-permissions">
<title>&title-file-permissions;</title>
Modified: trunk/refman-5.1/using-mysql-programs.xml
===================================================================
--- trunk/refman-5.1/using-mysql-programs.xml 2006-01-24 03:55:28 UTC (rev 1009)
+++ trunk/refman-5.1/using-mysql-programs.xml 2006-01-24 03:56:09 UTC (rev 1010)
@@ -867,13 +867,19 @@
<para>
MySQL looks for option files in the order just described and
reads any that exist. If an option file that you want to use
- does not exist, create it with a plain text editor. If multiple
- option files exist, an option specified in a file read later
- takes precedence over the same option specified in a file read
- earlier.
+ does not exist, create it with a plain text editor.
</para>
<para>
+ If multiple instances of a given option are found, the last
+ instance takes precedence. There is one exception: For
+ <command>mysqld</command>, the <emphasis>first</emphasis>
+ instance of the <option>--user</option> option is used as a
+ security precaution, to keep a user specified on an option file
+ from being overridden on the command line.
+ </para>
+
+ <para>
<emphasis role="bold">Note</emphasis>: On Unix platforms, MySQL
ignores configuration files that are world-writable. This is
intentional, and acts as a security measure.
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r1010 - in trunk: . refman-4.1 refman-5.0 refman-5.1 | paul | 24 Jan |