Author: paul
Date: 2006-02-02 21:10:51 +0100 (Thu, 02 Feb 2006)
New Revision: 1191
Log:
r2800@kite-hub: paul | 2006-02-02 14:06:38 -0600
Revise system variable sections. This completes the merge of the system
variable stuff in language-structure.xml into the sysvar section of
database-administration.xml.
Modified:
trunk/
trunk/refman-4.1/database-administration.xml
trunk/refman-4.1/language-structure.xml
trunk/refman-4.1/renamed-nodes.txt
trunk/refman-5.0/database-administration.xml
trunk/refman-5.0/language-structure.xml
trunk/refman-5.0/renamed-nodes.txt
trunk/refman-5.1/database-administration.xml
trunk/refman-5.1/language-structure.xml
trunk/refman-5.1/renamed-nodes.txt
trunk/refman-common/titles.en.ent
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:7055
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:2799
+ b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:7055
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:2800
Modified: trunk/refman-4.1/database-administration.xml
===================================================================
--- trunk/refman-4.1/database-administration.xml 2006-02-02 20:08:47 UTC (rev 1190)
+++ trunk/refman-4.1/database-administration.xml 2006-02-02 20:10:51 UTC (rev 1191)
@@ -5299,6 +5299,53 @@
</para>
<para>
+ At runtime, global or session variables may be set in several
+ ways. The following examples use
+ <literal>sort_buffer_size</literal> as a sample variable name.
+ </para>
+
+ <para>
+ To set the value of a <literal>GLOBAL</literal> variable, use
+ one of the following syntaxes:
+ </para>
+
+<programlisting>
+SET GLOBAL sort_buffer_size = <replaceable>value</replaceable>;
+SET @@global.sort_buffer_size = <replaceable>value</replaceable>;
+</programlisting>
+
+ <para>
+ To set the value of a <literal>SESSION</literal> variable, use
+ one of the following syntaxes:
+ </para>
+
+<programlisting>
+SET SESSION sort_buffer_size = <replaceable>value</replaceable>;
+SET @@session.sort_buffer_size = <replaceable>value</replaceable>;
+SET sort_buffer_size = <replaceable>value</replaceable>;
+</programlisting>
+
+ <para>
+ <literal>LOCAL</literal> is a synonym for
+ <literal>SESSION</literal> and <literal>@@local.</literal> is
+ a synonym for <literal>@@session.</literal>.
+ </para>
+
+ <para>
+ If you specify no <literal>GLOBAL</literal> or
+ <literal>SESSION</literal> modifier when setting a variable,
+ the statement sets the session value.
+ </para>
+
+ <para>
+ To prevent incorrect usage, MySQL produces an error if you use
+ <literal>SET GLOBAL</literal> with a variable that can only be
+ used with <literal>SET SESSION</literal> or if you do not
+ specify <literal>GLOBAL</literal> (or
+ <literal>@@global.</literal>) when setting a global variable.
+ </para>
+
+ <para>
When you assign a value to a system variable with
<literal>SET</literal>, you cannot use suffix letters in the
value. However, the value can take the form of an expression:
@@ -5366,6 +5413,313 @@
+---------------------------------+-------------------------------------+
</programlisting>
+ <para>
+ To retrieve the value of a specific <literal>GLOBAL</literal>
+ variable, use one of the following statements:
+ </para>
+
+<programlisting>
+SELECT @@global.sort_buffer_size;
+SHOW GLOBAL VARIABLES like 'sort_buffer_size';
+</programlisting>
+
+ <para>
+ To retrieve the value of a <literal>SESSION</literal>
+ variable, use one of the following statements:
+ </para>
+
+<programlisting>
+SELECT @@sort_buffer_size;
+SELECT @@session.sort_buffer_size;
+SHOW SESSION VARIABLES like 'sort_buffer_size';
+</programlisting>
+
+ <para>
+ When you retrieve a variable with <literal>SELECT
+ @@<replaceable>var_name</replaceable></literal> (that is, you
+ do not specify <literal>global.</literal> or
+ <literal>session.</literal>, MySQL returns the
+ <literal>SESSION</literal> value if it exists and the
+ <literal>GLOBAL</literal> value otherwise.
+ </para>
+
+ <para>
+ For <literal>SHOW VARIABLES</literal>, if you do not specify
+ <literal>GLOBAL</literal> or <literal>SESSION</literal>, MySQL
+ returns the <literal>SESSION</literal> values.
+ </para>
+
+ <para>
+ The reason for requiring the <literal>GLOBAL</literal> keyword
+ when setting <literal>GLOBAL</literal>-only variables but not
+ when retrieving them is to prevent problems in the future. If
+ we were to remove a <literal>SESSION</literal> variable that
+ has the same name as a <literal>GLOBAL</literal> variable, a
+ client with the <literal>SUPER</literal> privilege might
+ accidentally change the <literal>GLOBAL</literal> variable
+ rather than just the <literal>SESSION</literal> variable for
+ its own connection. If we add a <literal>SESSION</literal>
+ variable with the same name as a <literal>GLOBAL</literal>
+ variable, a client that intends to change the
+ <literal>GLOBAL</literal> variable might find only its own
+ <literal>SESSION</literal> variable changed.
+ </para>
+
+ <refsection id="structured-system-variables">
+
+ <title>&title-structured-system-variables;</title>
+
+ <para>
+ Structured system variables are supported beginning with
+ MySQL 4.1.1. A structured variable differs from a regular
+ system variable in two respects:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Its value is a structure with components that specify
+ server parameters considered to be closely related.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ There might be several instances of a given type of
+ structured variable. Each one has a different name and
+ refers to a different resource maintained by the server.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ In MySQL 4.1 (4.1.1 and above), MySQL supports one
+ structured variable type. It specifies parameters that
+ govern the operation of key caches. A key cache structured
+ variable has these components:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>key_buffer_size</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>key_cache_block_size</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>key_cache_division_limit</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>key_cache_age_threshold</literal>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ The purpose of this section is to describe the syntax for
+ referring to structured variables. Key cache variables are
+ used for syntax examples, but specific details about how key
+ caches operate are found elsewhere, in
+ <xref linkend="myisam-key-cache"/>.
+ </para>
+
+ <para>
+ To refer to a component of a structured variable instance,
+ you can use a compound name in
+ <replaceable>instance_name.component_name</replaceable>
+ format. Examples:
+ </para>
+
+<programlisting>
+hot_cache.key_buffer_size
+hot_cache.key_cache_block_size
+cold_cache.key_cache_block_size
+</programlisting>
+
+ <para>
+ For each structured system variable, an instance with the
+ name of <literal>default</literal> is always predefined. If
+ you refer to a component of a structured variable without
+ any instance name, the <literal>default</literal> instance
+ is used. Thus, <literal>default.key_buffer_size</literal>
+ and <literal>key_buffer_size</literal> both refer to the
+ same system variable.
+ </para>
+
+ <para>
+ Structured variable instances and components follow these
+ naming rules:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ For a given type of structured variable, each instance
+ must have a name that is unique
+ <emphasis>within</emphasis> variables of that type.
+ However, instance names need not be unique
+ <emphasis>across</emphasis> structured variable types.
+ For example, each structured variable has an instance
+ named <literal>default</literal>, so
+ <literal>default</literal> is not unique across variable
+ types.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The names of the components of each structured variable
+ type must be unique across all system variable names. If
+ this were not true (that is, if two different types of
+ structured variables could share component member
+ names), it would not be clear which default structured
+ variable to use for references to member names that are
+ not qualified by an instance name.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If a structured variable instance name is not legal as
+ an unquoted identifier, refer to it as a quoted
+ identifier using backticks. For example,
+ <literal>hot-cache</literal> is not legal, but
+ <literal>`hot-cache`</literal> is.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>global</literal>, <literal>session</literal>,
+ and <literal>local</literal> are not legal instance
+ names. This avoids a conflict with notation such as
+ <literal>@@global.<replaceable>var_name</replaceable></literal>
+ for referring to non-structured system variables.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ At the moment, the first two rules have no possibility of
+ being violated because the only structured variable type is
+ the one for key caches. These rules will assume greater
+ significance if some other type of structured variable is
+ created in the future.
+ </para>
+
+ <para>
+ With one exception, it is allowable to refer to structured
+ variable components using compound names in any context
+ where simple variable names can occur. For example, you can
+ assign a value to a structured variable using a command-line
+ option:
+ </para>
+
+<programlisting>
+shell> <userinput>mysqld --hot_cache.key_buffer_size=64K</userinput>
+</programlisting>
+
+ <para>
+ In an option file, use this syntax:
+ </para>
+
+<programlisting>
+[mysqld]
+hot_cache.key_buffer_size=64K
+</programlisting>
+
+ <para>
+ If you start the server with such an option, it creates a
+ key cache named <literal>hot_cache</literal> with a size of
+ 64KB in addition to the default key cache that has a default
+ size of 8MB.
+ </para>
+
+ <para>
+ Suppose that you start the server as follows:
+ </para>
+
+<programlisting>
+shell> <userinput>mysqld --key_buffer_size=256K \</userinput>
+ <userinput>--extra_cache.key_buffer_size=128K \</userinput>
+ <userinput>--extra_cache.key_cache_block_size=2048</userinput>
+</programlisting>
+
+ <para>
+ In this case, the server sets the size of the default key
+ cache to 256KB. (You could also have written
+ <option>--default.key_buffer_size=256K</option>.) In
+ addition, the server creates a second key cache named
+ <literal>extra_cache</literal> that has a size of 128KB,
+ with the size of block buffers for caching table index
+ blocks set to 2048 bytes.
+ </para>
+
+ <para>
+ The following example starts the server with three different
+ key caches having sizes in a 3:1:1 ratio:
+ </para>
+
+<programlisting>
+shell> <userinput>mysqld --key_buffer_size=6M \</userinput>
+ <userinput>--hot_cache.key_buffer_size=2M \</userinput>
+ <userinput>--cold_cache.key_buffer_size=2M</userinput>
+</programlisting>
+
+ <para>
+ Structured variable values may be set and retrieved at
+ runtime as well. For example, to set a key cache named
+ <literal>hot_cache</literal> to a size of 10MB, use either
+ of these statements:
+ </para>
+
+<programlisting>
+mysql> <userinput>SET GLOBAL hot_cache.key_buffer_size = 10*1024*1024;</userinput>
+mysql> <userinput>SET @@global.hot_cache.key_buffer_size = 10*1024*1024;</userinput>
+</programlisting>
+
+ <para>
+ To retrieve the cache size, do this:
+ </para>
+
+<programlisting>
+mysql> <userinput>SELECT @@global.hot_cache.key_buffer_size;</userinput>
+</programlisting>
+
+ <para>
+ However, the following statement does not work. The variable
+ is not interpreted as a compound name, but as a simple
+ string for a <literal>LIKE</literal> pattern-matching
+ operation:
+ </para>
+
+<programlisting>
+mysql> <userinput>SHOW GLOBAL VARIABLES LIKE 'hot_cache.key_buffer_size';</userinput>
+</programlisting>
+
+ <para>
+ This is the exception to being able to use structured
+ variable names anywhere a simple variable name may occur.
+ </para>
+
+ </refsection>
+
<refsection id="dynamic-system-variables">
<title>&title-dynamic-system-variables;</title>
Modified: trunk/refman-4.1/language-structure.xml
===================================================================
--- trunk/refman-4.1/language-structure.xml 2006-02-02 20:08:47 UTC (rev 1190)
+++ trunk/refman-4.1/language-structure.xml 2006-02-02 20:10:51 UTC (rev 1191)
@@ -1476,378 +1476,6 @@
</section>
- <section id="system-variables">
-
- <title>&title-system-variables;</title>
-
- <para>
- A change to a global variable is visible to any client that
- accesses that global variable. However, it affects the
- corresponding session variable that is initialized from the global
- variable only for clients that connect after the change. It does
- not affect the session variable for any client that is currently
- connected (not even that of the client that issues the
- <literal>SET GLOBAL</literal> statement).
- </para>
-
- <para>
- At runtime, global or session variables may be set in several
- ways. The following examples use
- <literal>sort_buffer_size</literal> as a sample variable name.
- </para>
-
- <para>
- To set the value of a <literal>GLOBAL</literal> variable, use one
- of the following syntaxes:
- </para>
-
-<programlisting>
-SET GLOBAL sort_buffer_size = <replaceable>value</replaceable>;
-SET @@global.sort_buffer_size = <replaceable>value</replaceable>;
-</programlisting>
-
- <para>
- To set the value of a <literal>SESSION</literal> variable, use one
- of the following syntaxes:
- </para>
-
-<programlisting>
-SET SESSION sort_buffer_size = <replaceable>value</replaceable>;
-SET @@session.sort_buffer_size = <replaceable>value</replaceable>;
-SET sort_buffer_size = <replaceable>value</replaceable>;
-</programlisting>
-
- <para>
- <literal>LOCAL</literal> is a synonym for
- <literal>SESSION</literal> and <literal>@@local.</literal> is a
- synonym for <literal>@@session.</literal>.
- </para>
-
- <para>
- If you specify no <literal>GLOBAL</literal> or
- <literal>SESSION</literal> modifier when setting a variable, the
- statement sets the session value.
- </para>
-
- <para>
- To prevent incorrect usage, MySQL produces an error if you use
- <literal>SET GLOBAL</literal> with a variable that can only be
- used with <literal>SET SESSION</literal> or if you do not
- specify <literal>GLOBAL</literal> (or
- <literal>@@global.</literal>) when setting a global variable.
- </para>
-
- <para>
- To prevent incorrect usage, MySQL produces an error if you use
- <literal>SET GLOBAL</literal> with a variable that can only be
- used with <literal>SET SESSION</literal> or if you do not specify
- <literal>GLOBAL</literal> (or <literal>@@global.</literal>) when
- setting a global variable.
- </para>
-
- <para>
- To retrieve the value of a specific <literal>GLOBAL</literal>
- variable, use one of the following statements:
- </para>
-
-<programlisting>
-SELECT @@global.sort_buffer_size;
-SHOW GLOBAL VARIABLES like 'sort_buffer_size';
-</programlisting>
-
- <para>
- To retrieve the value of a <literal>SESSION</literal> variable,
- use one of the following statements:
- </para>
-
-<programlisting>
-SELECT @@sort_buffer_size;
-SELECT @@session.sort_buffer_size;
-SHOW SESSION VARIABLES like 'sort_buffer_size';
-</programlisting>
-
- <para>
- When you retrieve a variable with <literal>SELECT
- @@<replaceable>var_name</replaceable></literal> (that is, you do
- not specify <literal>global.</literal> or
- <literal>session.</literal>, MySQL returns the
- <literal>SESSION</literal> value if it exists and the
- <literal>GLOBAL</literal> value otherwise.
- </para>
-
- <para>
- For <literal>SHOW VARIABLES</literal>, if you do not specify
- <literal>GLOBAL</literal> or <literal>SESSION</literal>, MySQL
- returns the <literal>SESSION</literal> values.
- </para>
-
- <para>
- The reason for requiring the <literal>GLOBAL</literal> keyword
- when setting <literal>GLOBAL</literal>-only variables but not when
- retrieving them is to prevent problems in the future. If we were
- to remove a <literal>SESSION</literal> variable that has the same
- name as a <literal>GLOBAL</literal> variable, a client with the
- <literal>SUPER</literal> privilege might accidentally change the
- <literal>GLOBAL</literal> variable rather than just the
- <literal>SESSION</literal> variable for its own connection. If we
- add a <literal>SESSION</literal> variable with the same name as a
- <literal>GLOBAL</literal> variable, a client that intends to
- change the <literal>GLOBAL</literal> variable might find only its
- own <literal>SESSION</literal> variable changed.
- </para>
-
- <section id="structured-system-variables">
-
- <title>&title-structured-system-variables;</title>
-
- <para>
- Structured system variables are supported beginning with MySQL
- 4.1.1. A structured variable differs from a regular system
- variable in two respects:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- Its value is a structure with components that specify server
- parameters considered to be closely related.
- </para>
- </listitem>
-
- <listitem>
- <para>
- There might be several instances of a given type of
- structured variable. Each one has a different name and
- refers to a different resource maintained by the server.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- In MySQL 4.1 (4.1.1 and above), MySQL supports one structured
- variable type. It specifies parameters that govern the operation
- of key caches. A key cache structured variable has these
- components:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- <literal>key_buffer_size</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>key_cache_block_size</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>key_cache_division_limit</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>key_cache_age_threshold</literal>
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- The purpose of this section is to describe the syntax for
- referring to structured variables. Key cache variables are used
- for syntax examples, but specific details about how key caches
- operate are found elsewhere, in
- <xref linkend="myisam-key-cache"/>.
- </para>
-
- <para>
- To refer to a component of a structured variable instance, you
- can use a compound name in
- <replaceable>instance_name.component_name</replaceable> format.
- Examples:
- </para>
-
-<programlisting>
-hot_cache.key_buffer_size
-hot_cache.key_cache_block_size
-cold_cache.key_cache_block_size
-</programlisting>
-
- <para>
- For each structured system variable, an instance with the name
- of <literal>default</literal> is always predefined. If you refer
- to a component of a structured variable without any instance
- name, the <literal>default</literal> instance is used. Thus,
- <literal>default.key_buffer_size</literal> and
- <literal>key_buffer_size</literal> both refer to the same system
- variable.
- </para>
-
- <para>
- Structured variable instances and components follow these naming
- rules:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- For a given type of structured variable, each instance must
- have a name that is unique <emphasis>within</emphasis>
- variables of that type. However, instance names need not be
- unique <emphasis>across</emphasis> structured variable
- types. For example, each structured variable has an instance
- named <literal>default</literal>, so
- <literal>default</literal> is not unique across variable
- types.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The names of the components of each structured variable type
- must be unique across all system variable names. If this
- were not true (that is, if two different types of structured
- variables could share component member names), it would not
- be clear which default structured variable to use for
- references to member names that are not qualified by an
- instance name.
- </para>
- </listitem>
-
- <listitem>
- <para>
- If a structured variable instance name is not legal as an
- unquoted identifier, refer to it as a quoted identifier
- using backticks. For example, <literal>hot-cache</literal>
- is not legal, but <literal>`hot-cache`</literal> is.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>global</literal>, <literal>session</literal>, and
- <literal>local</literal> are not legal instance names. This
- avoids a conflict with notation such as
- <literal>@@global.<replaceable>var_name</replaceable></literal>
- for referring to non-structured system variables.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- At the moment, the first two rules have no possibility of being
- violated because the only structured variable type is the one
- for key caches. These rules will assume greater significance if
- some other type of structured variable is created in the future.
- </para>
-
- <para>
- With one exception, it is allowable to refer to structured
- variable components using compound names in any context where
- simple variable names can occur. For example, you can assign a
- value to a structured variable using a command-line option:
- </para>
-
-<programlisting>
-shell> <userinput>mysqld --hot_cache.key_buffer_size=64K</userinput>
-</programlisting>
-
- <para>
- In an option file, use this syntax:
- </para>
-
-<programlisting>
-[mysqld]
-hot_cache.key_buffer_size=64K
-</programlisting>
-
- <para>
- If you start the server with such an option, it creates a key
- cache named <literal>hot_cache</literal> with a size of 64KB in
- addition to the default key cache that has a default size of
- 8MB.
- </para>
-
- <para>
- Suppose that you start the server as follows:
- </para>
-
-<programlisting>
-shell> <userinput>mysqld --key_buffer_size=256K \</userinput>
- <userinput>--extra_cache.key_buffer_size=128K \</userinput>
- <userinput>--extra_cache.key_cache_block_size=2048</userinput>
-</programlisting>
-
- <para>
- In this case, the server sets the size of the default key cache
- to 256KB. (You could also have written
- <option>--default.key_buffer_size=256K</option>.) In addition,
- the server creates a second key cache named
- <literal>extra_cache</literal> that has a size of 128KB, with
- the size of block buffers for caching table index blocks set to
- 2048 bytes.
- </para>
-
- <para>
- The following example starts the server with three different key
- caches having sizes in a 3:1:1 ratio:
- </para>
-
-<programlisting>
-shell> <userinput>mysqld --key_buffer_size=6M \</userinput>
- <userinput>--hot_cache.key_buffer_size=2M \</userinput>
- <userinput>--cold_cache.key_buffer_size=2M</userinput>
-</programlisting>
-
- <para>
- Structured variable values may be set and retrieved at runtime
- as well. For example, to set a key cache named
- <literal>hot_cache</literal> to a size of 10MB, use either of
- these statements:
- </para>
-
-<programlisting>
-mysql> <userinput>SET GLOBAL hot_cache.key_buffer_size = 10*1024*1024;</userinput>
-mysql> <userinput>SET @@global.hot_cache.key_buffer_size = 10*1024*1024;</userinput>
-</programlisting>
-
- <para>
- To retrieve the cache size, do this:
- </para>
-
-<programlisting>
-mysql> <userinput>SELECT @@global.hot_cache.key_buffer_size;</userinput>
-</programlisting>
-
- <para>
- However, the following statement does not work. The variable is
- not interpreted as a compound name, but as a simple string for a
- <literal>LIKE</literal> pattern-matching operation:
- </para>
-
-<programlisting>
-mysql> <userinput>SHOW GLOBAL VARIABLES LIKE 'hot_cache.key_buffer_size';</userinput>
-</programlisting>
-
- <para>
- This is the exception to being able to use structured variable
- names anywhere a simple variable name may occur.
- </para>
-
- </section>
-
- </section>
-
<section id="comments">
<title>&title-comments;</title>
Modified: trunk/refman-4.1/renamed-nodes.txt
===================================================================
--- trunk/refman-4.1/renamed-nodes.txt 2006-02-02 20:08:47 UTC (rev 1190)
+++ trunk/refman-4.1/renamed-nodes.txt 2006-02-02 20:10:51 UTC (rev 1191)
@@ -112,3 +112,4 @@
secure-grant grant
secure-requirements secure-using-openssl
backing-up innodb-backup
+system-variables server-system-variables
Modified: trunk/refman-5.0/database-administration.xml
===================================================================
--- trunk/refman-5.0/database-administration.xml 2006-02-02 20:08:47 UTC (rev 1190)
+++ trunk/refman-5.0/database-administration.xml 2006-02-02 20:10:51 UTC (rev 1191)
@@ -5566,6 +5566,53 @@
</para>
<para>
+ At runtime, global or session variables may be set in several
+ ways. The following examples use
+ <literal>sort_buffer_size</literal> as a sample variable name.
+ </para>
+
+ <para>
+ To set the value of a <literal>GLOBAL</literal> variable, use
+ one of the following syntaxes:
+ </para>
+
+<programlisting>
+SET GLOBAL sort_buffer_size = <replaceable>value</replaceable>;
+SET @@global.sort_buffer_size = <replaceable>value</replaceable>;
+</programlisting>
+
+ <para>
+ To set the value of a <literal>SESSION</literal> variable, use
+ one of the following syntaxes:
+ </para>
+
+<programlisting>
+SET SESSION sort_buffer_size = <replaceable>value</replaceable>;
+SET @@session.sort_buffer_size = <replaceable>value</replaceable>;
+SET sort_buffer_size = <replaceable>value</replaceable>;
+</programlisting>
+
+ <para>
+ <literal>LOCAL</literal> is a synonym for
+ <literal>SESSION</literal> and <literal>@@local.</literal> is
+ a synonym for <literal>@@session.</literal>.
+ </para>
+
+ <para>
+ If you specify no <literal>GLOBAL</literal> or
+ <literal>SESSION</literal> modifier when setting a variable,
+ the statement sets the session value.
+ </para>
+
+ <para>
+ To prevent incorrect usage, MySQL produces an error if you use
+ <literal>SET GLOBAL</literal> with a variable that can only be
+ used with <literal>SET SESSION</literal> or if you do not
+ specify <literal>GLOBAL</literal> (or
+ <literal>@@global.</literal>) when setting a global variable.
+ </para>
+
+ <para>
When you assign a value to a system variable with
<literal>SET</literal>, you cannot use suffix letters in the
value. However, the value can take the form of an expression:
@@ -5639,6 +5686,311 @@
+--------+--------------------------------------------------------------+
</programlisting>
+ <para>
+ To retrieve the value of a specific <literal>GLOBAL</literal>
+ variable, use one of the following statements:
+ </para>
+
+<programlisting>
+SELECT @@global.sort_buffer_size;
+SHOW GLOBAL VARIABLES like 'sort_buffer_size';
+</programlisting>
+
+ <para>
+ To retrieve the value of a <literal>SESSION</literal>
+ variable, use one of the following statements:
+ </para>
+
+<programlisting>
+SELECT @@sort_buffer_size;
+SELECT @@session.sort_buffer_size;
+SHOW SESSION VARIABLES like 'sort_buffer_size';
+</programlisting>
+
+ <para>
+ When you retrieve a variable with <literal>SELECT
+ @@<replaceable>var_name</replaceable></literal> (that is, you
+ do not specify <literal>global.</literal> or
+ <literal>session.</literal>, MySQL returns the
+ <literal>SESSION</literal> value if it exists and the
+ <literal>GLOBAL</literal> value otherwise.
+ </para>
+
+ <para>
+ For <literal>SHOW VARIABLES</literal>, if you do not specify
+ <literal>GLOBAL</literal> or <literal>SESSION</literal>, MySQL
+ returns the <literal>SESSION</literal> values.
+ </para>
+
+ <para>
+ The reason for requiring the <literal>GLOBAL</literal> keyword
+ when setting <literal>GLOBAL</literal>-only variables but not
+ when retrieving them is to prevent problems in the future. If
+ we were to remove a <literal>SESSION</literal> variable that
+ has the same name as a <literal>GLOBAL</literal> variable, a
+ client with the <literal>SUPER</literal> privilege might
+ accidentally change the <literal>GLOBAL</literal> variable
+ rather than just the <literal>SESSION</literal> variable for
+ its own connection. If we add a <literal>SESSION</literal>
+ variable with the same name as a <literal>GLOBAL</literal>
+ variable, a client that intends to change the
+ <literal>GLOBAL</literal> variable might find only its own
+ <literal>SESSION</literal> variable changed.
+ </para>
+
+ <refsection id="structured-system-variables">
+
+ <title>&title-structured-system-variables;</title>
+
+ <para>
+ A structured variable differs from a regular system variable
+ in two respects:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Its value is a structure with components that specify
+ server parameters considered to be closely related.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ There might be several instances of a given type of
+ structured variable. Each one has a different name and
+ refers to a different resource maintained by the server.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ MySQL ¤t-series; supports one structured variable
+ type, which specifies parameters governing the operation of
+ key caches. A key cache structured variable has these
+ components:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>key_buffer_size</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>key_cache_block_size</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>key_cache_division_limit</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>key_cache_age_threshold</literal>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ This section describes the syntax for referring to
+ structured variables. Key cache variables are used for
+ syntax examples, but specific details about how key caches
+ operate are found elsewhere, in
+ <xref linkend="myisam-key-cache"/>.
+ </para>
+
+ <para>
+ To refer to a component of a structured variable instance,
+ you can use a compound name in
+ <replaceable>instance_name.component_name</replaceable>
+ format. Examples:
+ </para>
+
+<programlisting>
+hot_cache.key_buffer_size
+hot_cache.key_cache_block_size
+cold_cache.key_cache_block_size
+</programlisting>
+
+ <para>
+ For each structured system variable, an instance with the
+ name of <literal>default</literal> is always predefined. If
+ you refer to a component of a structured variable without
+ any instance name, the <literal>default</literal> instance
+ is used. Thus, <literal>default.key_buffer_size</literal>
+ and <literal>key_buffer_size</literal> both refer to the
+ same system variable.
+ </para>
+
+ <para>
+ Structured variable instances and components follow these
+ naming rules:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ For a given type of structured variable, each instance
+ must have a name that is unique
+ <emphasis>within</emphasis> variables of that type.
+ However, instance names need not be unique
+ <emphasis>across</emphasis> structured variable types.
+ For example, each structured variable has an instance
+ named <literal>default</literal>, so
+ <literal>default</literal> is not unique across variable
+ types.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The names of the components of each structured variable
+ type must be unique across all system variable names. If
+ this were not true (that is, if two different types of
+ structured variables could share component member
+ names), it would not be clear which default structured
+ variable to use for references to member names that are
+ not qualified by an instance name.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If a structured variable instance name is not legal as
+ an unquoted identifier, refer to it as a quoted
+ identifier using backticks. For example,
+ <literal>hot-cache</literal> is not legal, but
+ <literal>`hot-cache`</literal> is.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>global</literal>, <literal>session</literal>,
+ and <literal>local</literal> are not legal instance
+ names. This avoids a conflict with notation such as
+ <literal>@@global.<replaceable>var_name</replaceable></literal>
+ for referring to non-structured system variables.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ Currently, the first two rules have no possibility of being
+ violated because the only structured variable type is the
+ one for key caches. These rules will assume greater
+ significance if some other type of structured variable is
+ created in the future.
+ </para>
+
+ <para>
+ With one exception, you can refer to structured variable
+ components using compound names in any context where simple
+ variable names can occur. For example, you can assign a
+ value to a structured variable using a command-line option:
+ </para>
+
+<programlisting>
+shell> <userinput>mysqld --hot_cache.key_buffer_size=64K</userinput>
+</programlisting>
+
+ <para>
+ In an option file, use this syntax:
+ </para>
+
+<programlisting>
+[mysqld]
+hot_cache.key_buffer_size=64K
+</programlisting>
+
+ <para>
+ If you start the server with this option, it creates a key
+ cache named <literal>hot_cache</literal> with a size of 64KB
+ in addition to the default key cache that has a default size
+ of 8MB.
+ </para>
+
+ <para>
+ Suppose that you start the server as follows:
+ </para>
+
+<programlisting>
+shell> <userinput>mysqld --key_buffer_size=256K \</userinput>
+ <userinput>--extra_cache.key_buffer_size=128K \</userinput>
+ <userinput>--extra_cache.key_cache_block_size=2048</userinput>
+</programlisting>
+
+ <para>
+ In this case, the server sets the size of the default key
+ cache to 256KB. (You could also have written
+ <option>--default.key_buffer_size=256K</option>.) In
+ addition, the server creates a second key cache named
+ <literal>extra_cache</literal> that has a size of 128KB,
+ with the size of block buffers for caching table index
+ blocks set to 2048 bytes.
+ </para>
+
+ <para>
+ The following example starts the server with three different
+ key caches having sizes in a 3:1:1 ratio:
+ </para>
+
+<programlisting>
+shell> <userinput>mysqld --key_buffer_size=6M \</userinput>
+ <userinput>--hot_cache.key_buffer_size=2M \</userinput>
+ <userinput>--cold_cache.key_buffer_size=2M</userinput>
+</programlisting>
+
+ <para>
+ Structured variable values may be set and retrieved at
+ runtime as well. For example, to set a key cache named
+ <literal>hot_cache</literal> to a size of 10MB, use either
+ of these statements:
+ </para>
+
+<programlisting>
+mysql> <userinput>SET GLOBAL hot_cache.key_buffer_size = 10*1024*1024;</userinput>
+mysql> <userinput>SET @@global.hot_cache.key_buffer_size = 10*1024*1024;</userinput>
+</programlisting>
+
+ <para>
+ To retrieve the cache size, do this:
+ </para>
+
+<programlisting>
+mysql> <userinput>SELECT @@global.hot_cache.key_buffer_size;</userinput>
+</programlisting>
+
+ <para>
+ However, the following statement does not work. The variable
+ is not interpreted as a compound name, but as a simple
+ string for a <literal>LIKE</literal> pattern-matching
+ operation:
+ </para>
+
+<programlisting>
+mysql> <userinput>SHOW GLOBAL VARIABLES LIKE 'hot_cache.key_buffer_size';</userinput>
+</programlisting>
+
+ <para>
+ This is the exception to being able to use structured
+ variable names anywhere a simple variable name may occur.
+ </para>
+
+ </refsection>
+
<refsection id="dynamic-system-variables">
<title>&title-dynamic-system-variables;</title>
Modified: trunk/refman-5.0/language-structure.xml
===================================================================
--- trunk/refman-5.0/language-structure.xml 2006-02-02 20:08:47 UTC (rev 1190)
+++ trunk/refman-5.0/language-structure.xml 2006-02-02 20:10:51 UTC (rev 1191)
@@ -1460,375 +1460,6 @@
</section>
- <section id="system-variables">
-
- <title>&title-system-variables;</title>
-
- <para>
- A change to a global variable is visible to any client that
- accesses that global variable. However, it affects the
- corresponding session variable that is initialized from the global
- variable only for clients that connect after the change. It does
- not affect the session variable for any client that is currently
- connected (not even that of the client that issues the
- <literal>SET GLOBAL</literal> statement).
- </para>
-
- <para>
- At runtime, global or session variables may be set in several
- ways. The following examples use
- <literal>sort_buffer_size</literal> as a sample variable name.
- </para>
-
- <para>
- To set the value of a <literal>GLOBAL</literal> variable, use one
- of the following syntaxes:
- </para>
-
-<programlisting>
-SET GLOBAL sort_buffer_size = <replaceable>value</replaceable>;
-SET @@global.sort_buffer_size = <replaceable>value</replaceable>;
-</programlisting>
-
- <para>
- To set the value of a <literal>SESSION</literal> variable, use one
- of the following syntaxes:
- </para>
-
-<programlisting>
-SET SESSION sort_buffer_size = <replaceable>value</replaceable>;
-SET @@session.sort_buffer_size = <replaceable>value</replaceable>;
-SET sort_buffer_size = <replaceable>value</replaceable>;
-</programlisting>
-
- <para>
- <literal>LOCAL</literal> is a synonym for
- <literal>SESSION</literal> and <literal>@@local.</literal> is a
- synonym for <literal>@@session.</literal>.
- </para>
-
- <para>
- If you specify no <literal>GLOBAL</literal> or
- <literal>SESSION</literal> modifier when setting a variable, the
- statement sets the session value.
- </para>
-
- <para>
- To prevent incorrect usage, MySQL produces an error if you use
- <literal>SET GLOBAL</literal> with a variable that can only be
- used with <literal>SET SESSION</literal> or if you do not
- specify <literal>GLOBAL</literal> (or
- <literal>@@global.</literal>) when setting a global variable.
- </para>
-
- <para>
- To prevent incorrect usage, MySQL produces an error if you use
- <literal>SET GLOBAL</literal> with a variable that can only be
- used with <literal>SET SESSION</literal> or if you do not specify
- <literal>GLOBAL</literal> (or <literal>@@global.</literal>) when
- setting a global variable.
- </para>
-
- <para>
- To retrieve the value of a specific <literal>GLOBAL</literal>
- variable, use one of the following statements:
- </para>
-
-<programlisting>
-SELECT @@global.sort_buffer_size;
-SHOW GLOBAL VARIABLES like 'sort_buffer_size';
-</programlisting>
-
- <para>
- To retrieve the value of a <literal>SESSION</literal> variable,
- use one of the following statements:
- </para>
-
-<programlisting>
-SELECT @@sort_buffer_size;
-SELECT @@session.sort_buffer_size;
-SHOW SESSION VARIABLES like 'sort_buffer_size';
-</programlisting>
-
- <para>
- When you retrieve a variable with <literal>SELECT
- @@<replaceable>var_name</replaceable></literal> (that is, you do
- not specify <literal>global.</literal> or
- <literal>session.</literal>, MySQL returns the
- <literal>SESSION</literal> value if it exists and the
- <literal>GLOBAL</literal> value otherwise.
- </para>
-
- <para>
- For <literal>SHOW VARIABLES</literal>, if you do not specify
- <literal>GLOBAL</literal> or <literal>SESSION</literal>, MySQL
- returns the <literal>SESSION</literal> values.
- </para>
-
- <para>
- The reason for requiring the <literal>GLOBAL</literal> keyword
- when setting <literal>GLOBAL</literal>-only variables but not when
- retrieving them is to prevent problems in the future. If we were
- to remove a <literal>SESSION</literal> variable that has the same
- name as a <literal>GLOBAL</literal> variable, a client with the
- <literal>SUPER</literal> privilege might accidentally change the
- <literal>GLOBAL</literal> variable rather than just the
- <literal>SESSION</literal> variable for its own connection. If we
- add a <literal>SESSION</literal> variable with the same name as a
- <literal>GLOBAL</literal> variable, a client that intends to
- change the <literal>GLOBAL</literal> variable might find only its
- own <literal>SESSION</literal> variable changed.
- </para>
-
- <section id="structured-system-variables">
-
- <title>&title-structured-system-variables;</title>
-
- <para>
- A structured variable differs from a regular system variable in
- two respects:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- Its value is a structure with components that specify server
- parameters considered to be closely related.
- </para>
- </listitem>
-
- <listitem>
- <para>
- There might be several instances of a given type of
- structured variable. Each one has a different name and
- refers to a different resource maintained by the server.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- MySQL ¤t-series; supports one structured variable type,
- which specifies parameters governing the operation of key
- caches. A key cache structured variable has these components:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- <literal>key_buffer_size</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>key_cache_block_size</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>key_cache_division_limit</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>key_cache_age_threshold</literal>
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- This section describes the syntax for referring to structured
- variables. Key cache variables are used for syntax examples, but
- specific details about how key caches operate are found
- elsewhere, in <xref linkend="myisam-key-cache"/>.
- </para>
-
- <para>
- To refer to a component of a structured variable instance, you
- can use a compound name in
- <replaceable>instance_name.component_name</replaceable> format.
- Examples:
- </para>
-
-<programlisting>
-hot_cache.key_buffer_size
-hot_cache.key_cache_block_size
-cold_cache.key_cache_block_size
-</programlisting>
-
- <para>
- For each structured system variable, an instance with the name
- of <literal>default</literal> is always predefined. If you refer
- to a component of a structured variable without any instance
- name, the <literal>default</literal> instance is used. Thus,
- <literal>default.key_buffer_size</literal> and
- <literal>key_buffer_size</literal> both refer to the same system
- variable.
- </para>
-
- <para>
- Structured variable instances and components follow these naming
- rules:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- For a given type of structured variable, each instance must
- have a name that is unique <emphasis>within</emphasis>
- variables of that type. However, instance names need not be
- unique <emphasis>across</emphasis> structured variable
- types. For example, each structured variable has an instance
- named <literal>default</literal>, so
- <literal>default</literal> is not unique across variable
- types.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The names of the components of each structured variable type
- must be unique across all system variable names. If this
- were not true (that is, if two different types of structured
- variables could share component member names), it would not
- be clear which default structured variable to use for
- references to member names that are not qualified by an
- instance name.
- </para>
- </listitem>
-
- <listitem>
- <para>
- If a structured variable instance name is not legal as an
- unquoted identifier, refer to it as a quoted identifier
- using backticks. For example, <literal>hot-cache</literal>
- is not legal, but <literal>`hot-cache`</literal> is.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>global</literal>, <literal>session</literal>, and
- <literal>local</literal> are not legal instance names. This
- avoids a conflict with notation such as
- <literal>@@global.<replaceable>var_name</replaceable></literal>
- for referring to non-structured system variables.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- Currently, the first two rules have no possibility of being
- violated because the only structured variable type is the one
- for key caches. These rules will assume greater significance if
- some other type of structured variable is created in the future.
- </para>
-
- <para>
- With one exception, you can refer to structured variable
- components using compound names in any context where simple
- variable names can occur. For example, you can assign a value to
- a structured variable using a command-line option:
- </para>
-
-<programlisting>
-shell> <userinput>mysqld --hot_cache.key_buffer_size=64K</userinput>
-</programlisting>
-
- <para>
- In an option file, use this syntax:
- </para>
-
-<programlisting>
-[mysqld]
-hot_cache.key_buffer_size=64K
-</programlisting>
-
- <para>
- If you start the server with this option, it creates a key cache
- named <literal>hot_cache</literal> with a size of 64KB in
- addition to the default key cache that has a default size of
- 8MB.
- </para>
-
- <para>
- Suppose that you start the server as follows:
- </para>
-
-<programlisting>
-shell> <userinput>mysqld --key_buffer_size=256K \</userinput>
- <userinput>--extra_cache.key_buffer_size=128K \</userinput>
- <userinput>--extra_cache.key_cache_block_size=2048</userinput>
-</programlisting>
-
- <para>
- In this case, the server sets the size of the default key cache
- to 256KB. (You could also have written
- <option>--default.key_buffer_size=256K</option>.) In addition,
- the server creates a second key cache named
- <literal>extra_cache</literal> that has a size of 128KB, with
- the size of block buffers for caching table index blocks set to
- 2048 bytes.
- </para>
-
- <para>
- The following example starts the server with three different key
- caches having sizes in a 3:1:1 ratio:
- </para>
-
-<programlisting>
-shell> <userinput>mysqld --key_buffer_size=6M \</userinput>
- <userinput>--hot_cache.key_buffer_size=2M \</userinput>
- <userinput>--cold_cache.key_buffer_size=2M</userinput>
-</programlisting>
-
- <para>
- Structured variable values may be set and retrieved at runtime
- as well. For example, to set a key cache named
- <literal>hot_cache</literal> to a size of 10MB, use either of
- these statements:
- </para>
-
-<programlisting>
-mysql> <userinput>SET GLOBAL hot_cache.key_buffer_size = 10*1024*1024;</userinput>
-mysql> <userinput>SET @@global.hot_cache.key_buffer_size = 10*1024*1024;</userinput>
-</programlisting>
-
- <para>
- To retrieve the cache size, do this:
- </para>
-
-<programlisting>
-mysql> <userinput>SELECT @@global.hot_cache.key_buffer_size;</userinput>
-</programlisting>
-
- <para>
- However, the following statement does not work. The variable is
- not interpreted as a compound name, but as a simple string for a
- <literal>LIKE</literal> pattern-matching operation:
- </para>
-
-<programlisting>
-mysql> <userinput>SHOW GLOBAL VARIABLES LIKE 'hot_cache.key_buffer_size';</userinput>
-</programlisting>
-
- <para>
- This is the exception to being able to use structured variable
- names anywhere a simple variable name may occur.
- </para>
-
- </section>
-
- </section>
-
<section id="comments">
<title>&title-comments;</title>
Modified: trunk/refman-5.0/renamed-nodes.txt
===================================================================
--- trunk/refman-5.0/renamed-nodes.txt 2006-02-02 20:08:47 UTC (rev 1190)
+++ trunk/refman-5.0/renamed-nodes.txt 2006-02-02 20:10:51 UTC (rev 1191)
@@ -412,3 +412,4 @@
secure-requirements secure-using-openssl
information-schema-tables information-schema
backing-up innodb-backup
+system-variables server-system-variables
Modified: trunk/refman-5.1/database-administration.xml
===================================================================
--- trunk/refman-5.1/database-administration.xml 2006-02-02 20:08:47 UTC (rev 1190)
+++ trunk/refman-5.1/database-administration.xml 2006-02-02 20:10:51 UTC (rev 1191)
@@ -5686,6 +5686,53 @@
</para>
<para>
+ At runtime, global or session variables may be set in several
+ ways. The following examples use
+ <literal>sort_buffer_size</literal> as a sample variable name.
+ </para>
+
+ <para>
+ To set the value of a <literal>GLOBAL</literal> variable, use
+ one of the following syntaxes:
+ </para>
+
+<programlisting>
+SET GLOBAL sort_buffer_size = <replaceable>value</replaceable>;
+SET @@global.sort_buffer_size = <replaceable>value</replaceable>;
+</programlisting>
+
+ <para>
+ To set the value of a <literal>SESSION</literal> variable, use
+ one of the following syntaxes:
+ </para>
+
+<programlisting>
+SET SESSION sort_buffer_size = <replaceable>value</replaceable>;
+SET @@session.sort_buffer_size = <replaceable>value</replaceable>;
+SET sort_buffer_size = <replaceable>value</replaceable>;
+</programlisting>
+
+ <para>
+ <literal>LOCAL</literal> is a synonym for
+ <literal>SESSION</literal> and <literal>@@local.</literal> is
+ a synonym for <literal>@@session.</literal>.
+ </para>
+
+ <para>
+ If you specify no <literal>GLOBAL</literal> or
+ <literal>SESSION</literal> modifier when setting a variable,
+ the statement sets the session value.
+ </para>
+
+ <para>
+ To prevent incorrect usage, MySQL produces an error if you use
+ <literal>SET GLOBAL</literal> with a variable that can only be
+ used with <literal>SET SESSION</literal> or if you do not
+ specify <literal>GLOBAL</literal> (or
+ <literal>@@global.</literal>) when setting a global variable.
+ </para>
+
+ <para>
When you assign a value to a system variable with
<literal>SET</literal>, you cannot use suffix letters in the
value. However, the value can take the form of an expression:
@@ -5752,6 +5799,311 @@
+---------------------------------+--------------------------------------+
</programlisting>
+ <para>
+ To retrieve the value of a specific <literal>GLOBAL</literal>
+ variable, use one of the following statements:
+ </para>
+
+<programlisting>
+SELECT @@global.sort_buffer_size;
+SHOW GLOBAL VARIABLES like 'sort_buffer_size';
+</programlisting>
+
+ <para>
+ To retrieve the value of a <literal>SESSION</literal>
+ variable, use one of the following statements:
+ </para>
+
+<programlisting>
+SELECT @@sort_buffer_size;
+SELECT @@session.sort_buffer_size;
+SHOW SESSION VARIABLES like 'sort_buffer_size';
+</programlisting>
+
+ <para>
+ When you retrieve a variable with <literal>SELECT
+ @@<replaceable>var_name</replaceable></literal> (that is, you
+ do not specify <literal>global.</literal> or
+ <literal>session.</literal>, MySQL returns the
+ <literal>SESSION</literal> value if it exists and the
+ <literal>GLOBAL</literal> value otherwise.
+ </para>
+
+ <para>
+ For <literal>SHOW VARIABLES</literal>, if you do not specify
+ <literal>GLOBAL</literal> or <literal>SESSION</literal>, MySQL
+ returns the <literal>SESSION</literal> values.
+ </para>
+
+ <para>
+ The reason for requiring the <literal>GLOBAL</literal> keyword
+ when setting <literal>GLOBAL</literal>-only variables but not
+ when retrieving them is to prevent problems in the future. If
+ we were to remove a <literal>SESSION</literal> variable that
+ has the same name as a <literal>GLOBAL</literal> variable, a
+ client with the <literal>SUPER</literal> privilege might
+ accidentally change the <literal>GLOBAL</literal> variable
+ rather than just the <literal>SESSION</literal> variable for
+ its own connection. If we add a <literal>SESSION</literal>
+ variable with the same name as a <literal>GLOBAL</literal>
+ variable, a client that intends to change the
+ <literal>GLOBAL</literal> variable might find only its own
+ <literal>SESSION</literal> variable changed.
+ </para>
+
+ <refsection id="structured-system-variables">
+
+ <title>&title-structured-system-variables;</title>
+
+ <para>
+ A structured variable differs from a regular system variable
+ in two respects:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Its value is a structure with components that specify
+ server parameters considered to be closely related.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ There might be several instances of a given type of
+ structured variable. Each one has a different name and
+ refers to a different resource maintained by the server.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ MySQL ¤t-series; supports one structured variable
+ type, which specifies parameters governing the operation of
+ key caches. A key cache structured variable has these
+ components:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>key_buffer_size</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>key_cache_block_size</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>key_cache_division_limit</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>key_cache_age_threshold</literal>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ This section describes the syntax for referring to
+ structured variables. Key cache variables are used for
+ syntax examples, but specific details about how key caches
+ operate are found elsewhere, in
+ <xref linkend="myisam-key-cache"/>.
+ </para>
+
+ <para>
+ To refer to a component of a structured variable instance,
+ you can use a compound name in
+ <replaceable>instance_name.component_name</replaceable>
+ format. Examples:
+ </para>
+
+<programlisting>
+hot_cache.key_buffer_size
+hot_cache.key_cache_block_size
+cold_cache.key_cache_block_size
+</programlisting>
+
+ <para>
+ For each structured system variable, an instance with the
+ name of <literal>default</literal> is always predefined. If
+ you refer to a component of a structured variable without
+ any instance name, the <literal>default</literal> instance
+ is used. Thus, <literal>default.key_buffer_size</literal>
+ and <literal>key_buffer_size</literal> both refer to the
+ same system variable.
+ </para>
+
+ <para>
+ Structured variable instances and components follow these
+ naming rules:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ For a given type of structured variable, each instance
+ must have a name that is unique
+ <emphasis>within</emphasis> variables of that type.
+ However, instance names need not be unique
+ <emphasis>across</emphasis> structured variable types.
+ For example, each structured variable has an instance
+ named <literal>default</literal>, so
+ <literal>default</literal> is not unique across variable
+ types.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The names of the components of each structured variable
+ type must be unique across all system variable names. If
+ this were not true (that is, if two different types of
+ structured variables could share component member
+ names), it would not be clear which default structured
+ variable to use for references to member names that are
+ not qualified by an instance name.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If a structured variable instance name is not legal as
+ an unquoted identifier, refer to it as a quoted
+ identifier using backticks. For example,
+ <literal>hot-cache</literal> is not legal, but
+ <literal>`hot-cache`</literal> is.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>global</literal>, <literal>session</literal>,
+ and <literal>local</literal> are not legal instance
+ names. This avoids a conflict with notation such as
+ <literal>@@global.<replaceable>var_name</replaceable></literal>
+ for referring to non-structured system variables.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ Currently, the first two rules have no possibility of being
+ violated because the only structured variable type is the
+ one for key caches. These rules will assume greater
+ significance if some other type of structured variable is
+ created in the future.
+ </para>
+
+ <para>
+ With one exception, you can refer to structured variable
+ components using compound names in any context where simple
+ variable names can occur. For example, you can assign a
+ value to a structured variable using a command-line option:
+ </para>
+
+<programlisting>
+shell> <userinput>mysqld --hot_cache.key_buffer_size=64K</userinput>
+</programlisting>
+
+ <para>
+ In an option file, use this syntax:
+ </para>
+
+<programlisting>
+[mysqld]
+hot_cache.key_buffer_size=64K
+</programlisting>
+
+ <para>
+ If you start the server with this option, it creates a key
+ cache named <literal>hot_cache</literal> with a size of 64KB
+ in addition to the default key cache that has a default size
+ of 8MB.
+ </para>
+
+ <para>
+ Suppose that you start the server as follows:
+ </para>
+
+<programlisting>
+shell> <userinput>mysqld --key_buffer_size=256K \</userinput>
+ <userinput>--extra_cache.key_buffer_size=128K \</userinput>
+ <userinput>--extra_cache.key_cache_block_size=2048</userinput>
+</programlisting>
+
+ <para>
+ In this case, the server sets the size of the default key
+ cache to 256KB. (You could also have written
+ <option>--default.key_buffer_size=256K</option>.) In
+ addition, the server creates a second key cache named
+ <literal>extra_cache</literal> that has a size of 128KB,
+ with the size of block buffers for caching table index
+ blocks set to 2048 bytes.
+ </para>
+
+ <para>
+ The following example starts the server with three different
+ key caches having sizes in a 3:1:1 ratio:
+ </para>
+
+<programlisting>
+shell> <userinput>mysqld --key_buffer_size=6M \</userinput>
+ <userinput>--hot_cache.key_buffer_size=2M \</userinput>
+ <userinput>--cold_cache.key_buffer_size=2M</userinput>
+</programlisting>
+
+ <para>
+ Structured variable values may be set and retrieved at
+ runtime as well. For example, to set a key cache named
+ <literal>hot_cache</literal> to a size of 10MB, use either
+ of these statements:
+ </para>
+
+<programlisting>
+mysql> <userinput>SET GLOBAL hot_cache.key_buffer_size = 10*1024*1024;</userinput>
+mysql> <userinput>SET @@global.hot_cache.key_buffer_size = 10*1024*1024;</userinput>
+</programlisting>
+
+ <para>
+ To retrieve the cache size, do this:
+ </para>
+
+<programlisting>
+mysql> <userinput>SELECT @@global.hot_cache.key_buffer_size;</userinput>
+</programlisting>
+
+ <para>
+ However, the following statement does not work. The variable
+ is not interpreted as a compound name, but as a simple
+ string for a <literal>LIKE</literal> pattern-matching
+ operation:
+ </para>
+
+<programlisting>
+mysql> <userinput>SHOW GLOBAL VARIABLES LIKE 'hot_cache.key_buffer_size';</userinput>
+</programlisting>
+
+ <para>
+ This is the exception to being able to use structured
+ variable names anywhere a simple variable name may occur.
+ </para>
+
+ </refsection>
+
<refsection id="dynamic-system-variables">
<title>&title-dynamic-system-variables;</title>
Modified: trunk/refman-5.1/language-structure.xml
===================================================================
--- trunk/refman-5.1/language-structure.xml 2006-02-02 20:08:47 UTC (rev 1190)
+++ trunk/refman-5.1/language-structure.xml 2006-02-02 20:10:51 UTC (rev 1191)
@@ -1460,375 +1460,6 @@
</section>
- <section id="system-variables">
-
- <title>&title-system-variables;</title>
-
- <para>
- A change to a global variable is visible to any client that
- accesses that global variable. However, it affects the
- corresponding session variable that is initialized from the global
- variable only for clients that connect after the change. It does
- not affect the session variable for any client that is currently
- connected (not even that of the client that issues the
- <literal>SET GLOBAL</literal> statement).
- </para>
-
- <para>
- At runtime, global or session variables may be set in several
- ways. The following examples use
- <literal>sort_buffer_size</literal> as a sample variable name.
- </para>
-
- <para>
- To set the value of a <literal>GLOBAL</literal> variable, use one
- of the following syntaxes:
- </para>
-
-<programlisting>
-SET GLOBAL sort_buffer_size = <replaceable>value</replaceable>;
-SET @@global.sort_buffer_size = <replaceable>value</replaceable>;
-</programlisting>
-
- <para>
- To set the value of a <literal>SESSION</literal> variable, use one
- of the following syntaxes:
- </para>
-
-<programlisting>
-SET SESSION sort_buffer_size = <replaceable>value</replaceable>;
-SET @@session.sort_buffer_size = <replaceable>value</replaceable>;
-SET sort_buffer_size = <replaceable>value</replaceable>;
-</programlisting>
-
- <para>
- <literal>LOCAL</literal> is a synonym for
- <literal>SESSION</literal> and <literal>@@local.</literal> is a
- synonym for <literal>@@session.</literal>.
- </para>
-
- <para>
- If you specify no <literal>GLOBAL</literal> or
- <literal>SESSION</literal> modifier when setting a variable, the
- statement sets the session value.
- </para>
-
- <para>
- To prevent incorrect usage, MySQL produces an error if you use
- <literal>SET GLOBAL</literal> with a variable that can only be
- used with <literal>SET SESSION</literal> or if you do not
- specify <literal>GLOBAL</literal> (or
- <literal>@@global.</literal>) when setting a global variable.
- </para>
-
- <para>
- To prevent incorrect usage, MySQL produces an error if you use
- <literal>SET GLOBAL</literal> with a variable that can only be
- used with <literal>SET SESSION</literal> or if you do not specify
- <literal>GLOBAL</literal> (or <literal>@@global.</literal>) when
- setting a global variable.
- </para>
-
- <para>
- To retrieve the value of a specific <literal>GLOBAL</literal>
- variable, use one of the following statements:
- </para>
-
-<programlisting>
-SELECT @@global.sort_buffer_size;
-SHOW GLOBAL VARIABLES like 'sort_buffer_size';
-</programlisting>
-
- <para>
- To retrieve the value of a <literal>SESSION</literal> variable,
- use one of the following statements:
- </para>
-
-<programlisting>
-SELECT @@sort_buffer_size;
-SELECT @@session.sort_buffer_size;
-SHOW SESSION VARIABLES like 'sort_buffer_size';
-</programlisting>
-
- <para>
- When you retrieve a variable with <literal>SELECT
- @@<replaceable>var_name</replaceable></literal> (that is, you do
- not specify <literal>global.</literal> or
- <literal>session.</literal>, MySQL returns the
- <literal>SESSION</literal> value if it exists and the
- <literal>GLOBAL</literal> value otherwise.
- </para>
-
- <para>
- For <literal>SHOW VARIABLES</literal>, if you do not specify
- <literal>GLOBAL</literal> or <literal>SESSION</literal>, MySQL
- returns the <literal>SESSION</literal> values.
- </para>
-
- <para>
- The reason for requiring the <literal>GLOBAL</literal> keyword
- when setting <literal>GLOBAL</literal>-only variables but not when
- retrieving them is to prevent problems in the future. If we were
- to remove a <literal>SESSION</literal> variable that has the same
- name as a <literal>GLOBAL</literal> variable, a client with the
- <literal>SUPER</literal> privilege might accidentally change the
- <literal>GLOBAL</literal> variable rather than just the
- <literal>SESSION</literal> variable for its own connection. If we
- add a <literal>SESSION</literal> variable with the same name as a
- <literal>GLOBAL</literal> variable, a client that intends to
- change the <literal>GLOBAL</literal> variable might find only its
- own <literal>SESSION</literal> variable changed.
- </para>
-
- <section id="structured-system-variables">
-
- <title>&title-structured-system-variables;</title>
-
- <para>
- A structured variable differs from a regular system variable in
- two respects:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- Its value is a structure with components that specify server
- parameters considered to be closely related.
- </para>
- </listitem>
-
- <listitem>
- <para>
- There might be several instances of a given type of
- structured variable. Each one has a different name and
- refers to a different resource maintained by the server.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- MySQL ¤t-series; supports one structured variable type,
- which specifies parameters governing the operation of key
- caches. A key cache structured variable has these components:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- <literal>key_buffer_size</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>key_cache_block_size</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>key_cache_division_limit</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>key_cache_age_threshold</literal>
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- This section describes the syntax for referring to structured
- variables. Key cache variables are used for syntax examples, but
- specific details about how key caches operate are found
- elsewhere, in <xref linkend="myisam-key-cache"/>.
- </para>
-
- <para>
- To refer to a component of a structured variable instance, you
- can use a compound name in
- <replaceable>instance_name.component_name</replaceable> format.
- Examples:
- </para>
-
-<programlisting>
-hot_cache.key_buffer_size
-hot_cache.key_cache_block_size
-cold_cache.key_cache_block_size
-</programlisting>
-
- <para>
- For each structured system variable, an instance with the name
- of <literal>default</literal> is always predefined. If you refer
- to a component of a structured variable without any instance
- name, the <literal>default</literal> instance is used. Thus,
- <literal>default.key_buffer_size</literal> and
- <literal>key_buffer_size</literal> both refer to the same system
- variable.
- </para>
-
- <para>
- Structured variable instances and components follow these naming
- rules:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- For a given type of structured variable, each instance must
- have a name that is unique <emphasis>within</emphasis>
- variables of that type. However, instance names need not be
- unique <emphasis>across</emphasis> structured variable
- types. For example, each structured variable has an instance
- named <literal>default</literal>, so
- <literal>default</literal> is not unique across variable
- types.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The names of the components of each structured variable type
- must be unique across all system variable names. If this
- were not true (that is, if two different types of structured
- variables could share component member names), it would not
- be clear which default structured variable to use for
- references to member names that are not qualified by an
- instance name.
- </para>
- </listitem>
-
- <listitem>
- <para>
- If a structured variable instance name is not legal as an
- unquoted identifier, refer to it as a quoted identifier
- using backticks. For example, <literal>hot-cache</literal>
- is not legal, but <literal>`hot-cache`</literal> is.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>global</literal>, <literal>session</literal>, and
- <literal>local</literal> are not legal instance names. This
- avoids a conflict with notation such as
- <literal>@@global.<replaceable>var_name</replaceable></literal>
- for referring to non-structured system variables.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- Currently, the first two rules have no possibility of being
- violated because the only structured variable type is the one
- for key caches. These rules will assume greater significance if
- some other type of structured variable is created in the future.
- </para>
-
- <para>
- With one exception, you can refer to structured variable
- components using compound names in any context where simple
- variable names can occur. For example, you can assign a value to
- a structured variable using a command-line option:
- </para>
-
-<programlisting>
-shell> <userinput>mysqld --hot_cache.key_buffer_size=64K</userinput>
-</programlisting>
-
- <para>
- In an option file, use this syntax:
- </para>
-
-<programlisting>
-[mysqld]
-hot_cache.key_buffer_size=64K
-</programlisting>
-
- <para>
- If you start the server with this option, it creates a key cache
- named <literal>hot_cache</literal> with a size of 64KB in
- addition to the default key cache that has a default size of
- 8MB.
- </para>
-
- <para>
- Suppose that you start the server as follows:
- </para>
-
-<programlisting>
-shell> <userinput>mysqld --key_buffer_size=256K \</userinput>
- <userinput>--extra_cache.key_buffer_size=128K \</userinput>
- <userinput>--extra_cache.key_cache_block_size=2048</userinput>
-</programlisting>
-
- <para>
- In this case, the server sets the size of the default key cache
- to 256KB. (You could also have written
- <option>--default.key_buffer_size=256K</option>.) In addition,
- the server creates a second key cache named
- <literal>extra_cache</literal> that has a size of 128KB, with
- the size of block buffers for caching table index blocks set to
- 2048 bytes.
- </para>
-
- <para>
- The following example starts the server with three different key
- caches having sizes in a 3:1:1 ratio:
- </para>
-
-<programlisting>
-shell> <userinput>mysqld --key_buffer_size=6M \</userinput>
- <userinput>--hot_cache.key_buffer_size=2M \</userinput>
- <userinput>--cold_cache.key_buffer_size=2M</userinput>
-</programlisting>
-
- <para>
- Structured variable values may be set and retrieved at runtime
- as well. For example, to set a key cache named
- <literal>hot_cache</literal> to a size of 10MB, use either of
- these statements:
- </para>
-
-<programlisting>
-mysql> <userinput>SET GLOBAL hot_cache.key_buffer_size = 10*1024*1024;</userinput>
-mysql> <userinput>SET @@global.hot_cache.key_buffer_size = 10*1024*1024;</userinput>
-</programlisting>
-
- <para>
- To retrieve the cache size, do this:
- </para>
-
-<programlisting>
-mysql> <userinput>SELECT @@global.hot_cache.key_buffer_size;</userinput>
-</programlisting>
-
- <para>
- However, the following statement does not work. The variable is
- not interpreted as a compound name, but as a simple string for a
- <literal>LIKE</literal> pattern-matching operation:
- </para>
-
-<programlisting>
-mysql> <userinput>SHOW GLOBAL VARIABLES LIKE 'hot_cache.key_buffer_size';</userinput>
-</programlisting>
-
- <para>
- This is the exception to being able to use structured variable
- names anywhere a simple variable name may occur.
- </para>
-
- </section>
-
- </section>
-
<section id="comments">
<title>&title-comments;</title>
Modified: trunk/refman-5.1/renamed-nodes.txt
===================================================================
--- trunk/refman-5.1/renamed-nodes.txt 2006-02-02 20:08:47 UTC (rev 1190)
+++ trunk/refman-5.1/renamed-nodes.txt 2006-02-02 20:10:51 UTC (rev 1191)
@@ -116,3 +116,4 @@
secure-requirements secure-using-openssl
information-schema-tables information-schema
backing-up innodb-backup
+system-variables server-system-variables
Modified: trunk/refman-common/titles.en.ent
===================================================================
--- trunk/refman-common/titles.en.ent 2006-02-02 20:08:47 UTC (rev 1190)
+++ trunk/refman-common/titles.en.ent 2006-02-02 20:10:51 UTC (rev 1191)
@@ -1586,7 +1586,6 @@
<!ENTITY title-symbolic-links-to-databases "Using Symbolic Links for Databases on Unix">
<!ENTITY title-symbolic-links-to-tables "Using Symbolic Links for Tables on Unix">
<!ENTITY title-system "System Factors and Startup Parameter Tuning">
-<!ENTITY title-system-variables "System Variables">
<!ENTITY title-table-and-index "<literal>InnoDB</literal> Table and Index Structures">
<!ENTITY title-table-cache "How MySQL Opens and Closes Tables">
<!ENTITY title-table-constraints-table "The <literal>INFORMATION_SCHEMA TABLE_CONSTRAINTS</literal> Table">
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r1191 - in trunk: . refman-4.1 refman-5.0 refman-5.1 refman-common | paul | 2 Feb |