Author: jstephens
Date: 2007-08-30 15:15:56 +0200 (Thu, 30 Aug 2007)
New Revision: 7599
Log:
Cleanup of markup - 5.0 version
1.
<para><emphasis role="bold">Note</emphasis>: ...</para>
->
<note><para>...</para></note>
<para><emphasis role="bold">Important</emphasis>: ...</para>
->
<important><para>...</para></important>
etc.
2. Fake headings -> <formalpara>s
Also some 4.1/5.0 harmonisation
Modified:
trunk/refman-4.1/mysql-cluster.xml
trunk/refman-5.0/mysql-cluster.xml
Modified: trunk/refman-4.1/mysql-cluster.xml
===================================================================
--- trunk/refman-4.1/mysql-cluster.xml 2007-08-30 07:06:03 UTC (rev 7598)
+++ trunk/refman-4.1/mysql-cluster.xml 2007-08-30 13:15:56 UTC (rev 7599)
Changed blocks: 27, Lines Added: 53, Lines Deleted: 68; 11950 bytes
@@ -1718,7 +1718,7 @@
<para>
The <literal>world</literal> database can be downloaded from
<ulink url="&base-url-docs;"/>, where it can be found listed
- under <quote>Examples</quote>.)
+ under <quote>Examples</quote>.
</para>
</note>
@@ -1984,9 +1984,9 @@
</programlisting>
<para>
- You will need to make sure that MySQL uses the NDB storage
- engine for this table. There are two ways that this can be
- accomplished. One of these is to modify the table definition
+ You need to make sure that MySQL uses the <literal>NDB</literal>
+ storage engine for this table. There are two ways that this can
+ be accomplished. One of these is to modify the table definition
<emphasis>before</emphasis> importing it into the Cluster
database. Using the <literal>City</literal> table as an example,
modify the <literal>ENGINE</literal> option of the definition as
@@ -2002,7 +2002,7 @@
`District` char(20) NOT NULL default '',
`Population` int(11) NOT NULL default '0',
PRIMARY KEY (`ID`)
-) ENGINE=NDBCLUSTER DEFAULT CHARSET=latin1;
+) <emphasis role="bold">ENGINE=NDBCLUSTER</emphasis> DEFAULT CHARSET=latin1;
INSERT INTO `City` VALUES (1,'Kabul','AFG','Kabol',1780000);
INSERT INTO `City` VALUES (2,'Qandahar','AFG','Qandahar',237500);
@@ -2104,11 +2104,12 @@
</para>
<para>
- It is worth taking into account that Cluster nodes do not make
- use of the MySQL privilege system when accessing one another.
- Setting or changing MySQL user accounts (including the
- <literal>root</literal> account) effects only applications that
- access the SQL node, not interaction between nodes.
+ It is worth taking into account that Cluster nodes do
+ <emphasis>not</emphasis> make use of the MySQL privilege system
+ when accessing one another. Setting or changing MySQL user
+ accounts (including the <literal>root</literal> account) effects
+ only applications that access the SQL node, not interaction
+ between nodes.
</para>
<para>
@@ -2152,12 +2153,12 @@
<para>
Applications that use MySQL can employ standard APIs to access
- NDB tables. It is important to remember that your application
- must access the SQL node, and not the MGM or data nodes. This
- brief example shows how we might execute the
- <literal>SELECT</literal> statement just shown by using PHP 5's
- <literal>mysqli</literal> extension running on a Web server
- elsewhere on the network:
+ <literal>NDB</literal> tables. It is important to remember that
+ your application must access the SQL node, and not the
+ management or data nodes. This brief example shows how we might
+ execute the <literal>SELECT</literal> statement just shown by
+ using the PHP 5.X <literal>mysqli</literal> extension running on
+ a Web server elsewhere on the network:
</para>
<programlisting>
@@ -2408,11 +2409,20 @@
<xref linkend="installing-source-tree"/>.
</para>
+ <para>
+ You should also note that <command>compile-pentium-max</command>
+ installs MySQL to the directory
+ <filename>/usr/local/mysql</filename>, placing all MySQL Cluster
+ executables, scripts, databases, and support files in
+ subdirectories under this directory. If this is not what you
+ desire, be sure to modify the script accordingly.
+ </para>
+
</section>
<section id="mysql-cluster-installing">
- <title>Installing the Software</title>
+ <title>Installing the Cluster Software</title>
<indexterm>
<primary>installing MySQL Cluster</primary>
@@ -2557,7 +2567,7 @@
need to specify the path of the <command>ndb_mgmd</command>
and <command>ndbd</command> servers explicitly. (Normally,
these will be found in
- <filename>/usr/local/mysql/bin</filename>.)
+ <filename>/usr/local/mysql/bin</filename>.
</para>
</note>
@@ -2662,7 +2672,7 @@
</para>
<programlisting>
-NDB> <userinput>SHOW</userinput>
+ndb_mgm> <userinput>SHOW</userinput>
Cluster Configuration
---------------------
[ndbd(NDB)] 1 node(s)
@@ -3488,7 +3498,7 @@
<para>
This parameter is used to define which nodes can act as
- arbitrators. Only MGM nodes and SQL nodes can be
+ arbitrators. Only management nodes and SQL nodes can be
arbitrators. <literal>ArbitrationRank</literal> can take
one of the following values:
</para>
@@ -4004,10 +4014,7 @@
operating systems are generally limited to 2−4GB per
process; 64-bit operating systems can use more. For large
databases, it may be preferable to use a 64-bit operating
- system for this reason. In addition, it is also possible
- to run more than one <command>ndbd</command> process per
- machine, and this may prove advantageous on machines with
- multiple CPUs.
+ system for this reason.
</para>
</listitem>
@@ -4935,7 +4942,7 @@
<para>
This parameter was deprecated in MySQL 4.1.5. In MySQL
- 4.1.6 and newer versions, you should use
+ 4.1.6 and newer versions; you should use
<literal>MaxNoOfOrderedIndexes</literal> and
<literal>MaxNoOfUniqueHashIndexes</literal> instead.
</para>
@@ -5443,8 +5450,7 @@
<listitem>
<indexterm>
-
<primary><literal>NoOfDiskPagesToDiskAfterRestartTUP</literal> (MySQL
Cluster
- configuration parameter)</primary>
+
<primary><literal>NoOfDiskPagesToDiskAfterRestartTUP</literal></primary>
</indexterm>
<para
id="mysql-cluster-param-ndbd-definition-noofdiskpagestodiskafterrestarttup">
@@ -5495,8 +5501,7 @@
<listitem>
<indexterm>
-
<primary><literal>NoOfDiskPagesToDiskAfterRestartACC</literal> (MySQL
Cluster
- configuration parameter)</primary>
+
<primary><literal>NoOfDiskPagesToDiskAfterRestartACC</literal></primary>
</indexterm>
<para
id="mysql-cluster-param-ndbd-definition-noofdiskpagestodiskafterrestartacc">
@@ -5518,8 +5523,7 @@
<listitem>
<indexterm>
-
<primary><literal>NoOfDiskPagesToDiskDuringRestartTUP</literal> (MySQL
Cluster
- configuration parameter)</primary>
+
<primary><literal>NoOfDiskPagesToDiskDuringRestartTUP</literal></primary>
</indexterm>
<para
id="mysql-cluster-param-ndbd-definition-noofdiskpagestodiskduringrestarttup">
@@ -5549,8 +5553,7 @@
<listitem>
<indexterm>
-
<primary><literal>NoOfDiskPagesToDiskDuringRestartACC</literal> (MySQL
Cluster
- configuration parameter)</primary>
+
<primary><literal>NoOfDiskPagesToDiskDuringRestartACC</literal></primary>
</indexterm>
<para
id="mysql-cluster-param-ndbd-definition-noofdiskpagestodiskduringrestartacc">
@@ -5578,8 +5581,7 @@
<listitem>
<indexterm>
- <primary><literal>ArbitrationTimeout</literal> (MySQL
Cluster configuration
- parameter)</primary>
+
<primary><literal>ArbitrationTimeout</literal></primary>
</indexterm>
<para id="mysql-cluster-param-ndbd-definition-arbitrationtimeout">
@@ -9018,7 +9020,7 @@
<para>
Given this information, the MySQL server will be a full
- participant in the cluster. (We sometimes refer to a
+ participant in the cluster. (We often refer to a
<command>mysqld</command> process running in this manner as an
SQL node.) It will be fully aware of all cluster data nodes as
well as their status, and will establish connections to all data
@@ -9749,10 +9751,6 @@
<primary>--connect-string option (MySQL Cluster)</primary>
</indexterm>
- <indexterm>
- <primary>-c option (MySQL Cluster)</primary>
- </indexterm>
-
<para>
<option>--connect-string=<replaceable>connect_string</replaceable></option>
</para>
@@ -9822,7 +9820,7 @@
</para>
<programlisting>
-NDB> <userinput>SHOW;</userinput>
+ndb_mgm> <userinput>SHOW</userinput>
</programlisting>
<para>
@@ -11401,13 +11399,6 @@
</itemizedlist>
<para>
- The <literal>STATISTICS</literal> category can provide a great
- deal of useful data. See
- <xref linkend="mysql-cluster-log-statistics"/>, for more
- information.
- </para>
-
- <para>
The following table describes the default setting (for all
data nodes) of the cluster log category threshold. If an event
has a priority with a value lower than or equal to the
@@ -11474,6 +11465,13 @@
</informaltable>
<para>
+ The <literal>STATISTICS</literal> category can provide a great
+ deal of useful data. See
+ <xref linkend="mysql-cluster-log-statistics"/>, for more
+ information.
+ </para>
+
+ <para>
Thresholds are used to filter events within each category. For
example, a <literal>STARTUP</literal> event with a priority of
3 is not logged unless the threshold for
@@ -13006,14 +13004,6 @@
backup request. It does <emphasis>not</emphasis> mean that
the backup has been completed.
</para>
-
- <note>
- <para>
- Backup messages were not recorded in the cluster log in
- MySQL 5.1.12 or 5.1.13. The logging of backup operations
- was restored in MySQL 5.1.14 (see Bug #24544).
- </para>
- </note>
</listitem>
<listitem>
@@ -13386,8 +13376,8 @@
</note>
<para>
- A complete listing of options available for this program is
- shown in the following table:
+ Most of the options available for this program are shown in
+ the following table:
</para>
<informaltable>
@@ -13736,11 +13726,6 @@
while the restore is in progress.
</para>
- <remark role="todo">
- [js] This is awfully short - either write some additional
- material for this section, or fold it into another section?
- </remark>
-
</section>
</section>
@@ -13845,7 +13830,7 @@
<listitem>
<para>
<command>ndb_config</command>: Retrieves Cluster configuration
- options.
+ option values.
</para>
</listitem>
@@ -14720,9 +14705,9 @@
<warning>
<para>
- With very large tables, this using this option may
- cause the number of operations available to the
- cluster to be exceeded.
+ With very large tables, using this option may cause
+ the number of operations available to the cluster to
+ be exceeded.
</para>
</warning>
</listitem>
@@ -16795,7 +16780,7 @@
<listitem>
<para>
- The SCI Socket kernel library must enabled either for the
+ The SCI Socket kernel library must be enabled either for the
entire machine or for the shell where the MySQL Cluster
processes are started.
</para>
Modified: trunk/refman-5.0/mysql-cluster.xml
===================================================================
--- trunk/refman-5.0/mysql-cluster.xml 2007-08-30 07:06:03 UTC (rev 7598)
+++ trunk/refman-5.0/mysql-cluster.xml 2007-08-30 13:15:56 UTC (rev 7599)
Changed blocks: 89, Lines Added: 1489, Lines Deleted: 1179; 130276 bytes
@@ -79,66 +79,56 @@
<secondary>information sources</secondary>
</indexterm>
- <para>
- <emphasis role="bold">Additional resources</emphasis>
- </para>
+ <formalpara>
- <itemizedlist>
+ <title>Additional resources</title>
- <listitem>
- <para>
- Answers to some commonly asked questions about Cluster may be
- found in the <xref linkend="faqs-mysql-cluster"/>.
- </para>
- </listitem>
+ <para>
+ More information may be found in the following places:
- <listitem>
- <para>
- The MySQL Cluster mailing list:
- <ulink url="http://lists.mysql.com/cluster"/>.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The MySQL Cluster Forum:
- <ulink url="&base-url-forum-list;?25"/>.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Answers to some commonly asked questions about Cluster may
+ be found in the <xref linkend="faqs-mysql-cluster"/>.
+ </para>
+ </listitem>
- <listitem>
- <para>
- Many MySQL Cluster users and some of the MySQL Cluster
- developers blog about their experiences with Cluster, and make
- feeds of these available through
- <ulink url="http://www.planetmysql.org/">PlanetMySQL</ulink>.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The MySQL Cluster mailing list:
+ <ulink url="http://lists.mysql.com/cluster"/>.
+ </para>
+ </listitem>
- <listitem>
- <para>
- If you are new to MySQL Cluster, you may find our Developer Zone
- article
- <ulink
url="http://dev.mysql.com/tech-resources/articles/mysql-cluster-for-two-servers.html">
- How to set up a MySQL Cluster for two servers</ulink> to be
- helpful.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The MySQL Cluster Forum:
+ <ulink url="&base-url-forum-list;?25"/>.
+ </para>
+ </listitem>
- </itemizedlist>
+ <listitem>
+ <para>
+ Many MySQL Cluster users and some of the MySQL Cluster
+ developers blog about their experiences with Cluster, and
+ make feeds of these available through
+ <ulink url="http://www.planetmysql.org/">PlanetMySQL</ulink>.
+ </para>
+ </listitem>
- <formalpara role="mnmas-kb">
+ <listitem>
+ <para>
+ If you are new to MySQL Cluster, you may find our Developer
+ Zone article
+ <ulink
url="http://dev.mysql.com/tech-resources/articles/mysql-cluster-for-two-servers.html">
+ How to set up a MySQL Cluster for two servers</ulink> to be
+ helpful.
+ </para>
+ </listitem>
- <title>MySQL Enterprise</title>
-
- <para>
- MySQL Enterprise subscribers will find numerous articles about
- MySQL Cluster at
- <ulink url="https://kb.mysql.com/search.php?cat=search&category=33">
- MySQL Cluster Articles</ulink>. Access to the MySQL Knowledge Base
- collection of articles is one of the advantages of subscribing to
- MySQL Enterprise. For more information see
- <ulink url="&base-url-enterprise;advisors.html"/>.
+ </itemizedlist>
</para>
</formalpara>
@@ -317,14 +307,15 @@
<firstterm>node</firstterm>.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: In many contexts, the
- term <quote>node</quote> is used to indicate a computer, but
- when discussing MySQL Cluster it means a
- <emphasis>process</emphasis>. It is possible to run any number
- of nodes on a single computer, for which we use the term
- <firstterm>cluster host</firstterm>.
- </para>
+ <note>
+ <para>
+ In many contexts, the term <quote>node</quote> is used to
+ indicate a computer, but when discussing MySQL Cluster it
+ means a <emphasis>process</emphasis>. It is possible to run
+ any number of nodes on a single computer, for which we use the
+ term <firstterm>cluster host</firstterm>.
+ </para>
+ </note>
<para>
(However, it should be noted MySQL does not currently support
@@ -392,14 +383,16 @@
</itemizedlist>
- <para>
- <emphasis role="bold">Important</emphasis>: It is not realistic
- to expect to employ a three-node setup in a production
- environment. Such a configuration provides no redundancy; in
- order to benefit from MySQL Cluster's high-availability
- features, you must use multiple data and SQL nodes. The use of
- multiple management nodes is also highly recommended.
- </para>
+ <important>
+ <para>
+ It is not realistic to expect to employ a three-node setup in
+ a production environment. Such a configuration provides no
+ redundancy; in order to benefit from MySQL Cluster's
+ high-availability features, you must use multiple data and SQL
+ nodes. The use of multiple management nodes is also highly
+ recommended.
+ </para>
+ </important>
<para>
For a brief introduction to the relationships between nodes,
@@ -435,24 +428,35 @@
<itemizedlist>
<listitem>
- <para>
- <emphasis role="bold">Standard MySQL clients</emphasis>:
- These are no different for MySQL Cluster than they are for
- standard (non-Cluster) MySQL. In other words, MySQL Cluster
- can be accessed from existing MySQL applications written in
- PHP, Perl, C, C++, Java, Python, Ruby, and so on.
- </para>
+ <formalpara>
+
+ <title>Standard MySQL clients</title>
+
+ <para>
+ These are no different for MySQL Cluster than they are for
+ standard (non-Cluster) MySQL. In other words, MySQL
+ Cluster can be accessed from existing MySQL applications
+ written in PHP, Perl, C, C++, Java, Python, Ruby, and so
+ on.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Management clients</emphasis>: These
- clients connect to the management server and provide
- commands for starting and stopping nodes gracefully,
- starting and stopping message tracing (debug versions only),
- showing node versions and status, starting and stopping
- backups, and so on.
- </para>
+ <formalpara>
+
+ <title>Management clients</title>
+
+ <para>
+ These clients connect to the management server and provide
+ commands for starting and stopping nodes gracefully,
+ starting and stopping message tracing (debug versions
+ only), showing node versions and status, starting and
+ stopping backups, and so on.
+ </para>
+
+ </formalpara>
</listitem>
</itemizedlist>
@@ -512,14 +516,19 @@
<itemizedlist>
<listitem>
- <para>
- <emphasis role="bold">(Data) Node</emphasis>: An
- <command>ndbd</command> process, which stores a
- <firstterm>replica</firstterm> —that is, a copy of the
- <firstterm>partition</firstterm> (see below) assigned to the
- node group of which the node is a member.
- </para>
+ <formalpara>
+ <title>(Data) Node</title>
+
+ <para>
+ An <command>ndbd</command> process, which stores a
+ <firstterm>replica</firstterm> —that is, a copy of
+ the <firstterm>partition</firstterm> (see below) assigned
+ to the node group of which the node is a member.
+ </para>
+
+ </formalpara>
+
<para>
Each data node should be located on a separate computer.
While it is also possible to host multiple
@@ -539,28 +548,41 @@
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Node Group</emphasis>: A node group
- consists of one or more nodes, and stores partitions, or
- sets of <firstterm>replicas</firstterm> (see next item).
- </para>
+ <formalpara>
- <para>
- <emphasis role="bold">Note</emphasis>: Currently, all node
- groups in a cluster must have the same number of nodes.
- </para>
+ <title>Node Group</title>
+
+ <para>
+ A node group consists of one or more nodes, and stores
+ partitions, or sets of <firstterm>replicas</firstterm>
+ (see next item).
+ </para>
+
+ </formalpara>
+
+ <note>
+ <para>
+ All node groups in a cluster must have the same number of
+ nodes.
+ </para>
+ </note>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Partition</emphasis>: This is a
- portion of the data stored by the cluster. There are as many
- cluster partitions as nodes participating in the cluster.
- Each node is responsible for keeping at least one copy of
- any partitions assigned to it (that is, at least one
- replica) available to the cluster.
- </para>
+ <formalpara>
+ <title>Partition</title>
+
+ <para>
+ This is a portion of the data stored by the cluster. There
+ are as many cluster partitions as nodes participating in
+ the cluster. Each node is responsible for keeping at least
+ one copy of any partitions assigned to it (that is, at
+ least one replica) available to the cluster.
+ </para>
+
+ </formalpara>
+
<para>
A replica belongs entirely to a single node; a node can (and
usually does) store several replicas.
@@ -568,13 +590,18 @@
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Replica</emphasis>: This is a copy of
- a cluster partition. Each node in a node group stores a
- replica. Also sometimes known as a <firstterm>partition
- replica</firstterm>. The number of replicas is equal to the
- number of nodes per node group.
- </para>
+ <formalpara>
+
+ <title>Replica</title>
+
+ <para>
+ This is a copy of a cluster partition. Each node in a node
+ group stores a replica. Also sometimes known as a
+ <firstterm>partition replica</firstterm>. The number of
+ replicas is equal to the number of nodes per node group.
+ </para>
+
+ </formalpara>
</listitem>
</itemizedlist>
@@ -737,14 +764,16 @@
sample database; and performing queries.
</para>
- <para>
- <emphasis role="bold">Basic Assumptions</emphasis>
- </para>
+ <formalpara>
- <para>
- This How-To makes the following assumptions:
- </para>
+ <title>Basic assumptions</title>
+ <para>
+ This How-To makes the following assumptions:
+ </para>
+
+ </formalpara>
+
<orderedlist>
<listitem>
@@ -1008,33 +1037,45 @@
<itemizedlist>
<listitem>
- <para>
- <emphasis role="bold">Security</emphasis>: Communications
- between Cluster nodes are not encrypted or shielded in any
- way. The only means of protecting transmissions within a
- MySQL Cluster is to run your Cluster on a protected network.
- If you intend to use MySQL Cluster for Web applications, the
- cluster should definitely reside behind your firewall and
- not in your network's De-Militarized Zone
- (<ulink
url="http://compnetworking.about.com/cs/networksecurity/g/bldef_dmz.htm">DMZ</ulink>)
- or elsewhere.
- </para>
+ <formalpara>
+
+ <title>Security</title>
+
+ <para>
+ Communications between Cluster nodes are not encrypted or
+ shielded in any way. The only means of protecting
+ transmissions within a MySQL Cluster is to run your
+ Cluster on a protected network. If you intend to use MySQL
+ Cluster for Web applications, the cluster should
+ definitely reside behind your firewall and not in your
+ network's De-Militarized Zone
+ (<ulink
url="http://compnetworking.about.com/cs/networksecurity/g/bldef_dmz.htm">DMZ</ulink>)
+ or elsewhere.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Efficiency</emphasis>: Setting up a
- MySQL Cluster on a private or protected network allows the
- cluster to make exclusive use of bandwidth between cluster
- hosts. Using a separate switch for your MySQL Cluster not
- only helps protect against unauthorized access to Cluster
- data, it also ensures that Cluster nodes are shielded from
- interference caused by transmissions between other computers
- on the network. For enhanced reliability, you can use dual
- switches and dual cards to remove the network as a single
- point of failure; many device drivers support failover for
- such communication links.
- </para>
+ <formalpara>
+
+ <title>Efficiency</title>
+
+ <para>
+ Setting up a MySQL Cluster on a private or protected
+ network allows the cluster to make exclusive use of
+ bandwidth between cluster hosts. Using a separate switch
+ for your MySQL Cluster not only helps protect against
+ unauthorized access to Cluster data, it also ensures that
+ Cluster nodes are shielded from interference caused by
+ transmissions between other computers on the network. For
+ enhanced reliability, you can use dual switches and dual
+ cards to remove the network as a single point of failure;
+ many device drivers support failover for such
+ communication links.
+ </para>
+
+ </formalpara>
</listitem>
</itemizedlist>
@@ -1072,13 +1113,12 @@
<para>
Each MySQL Cluster host computer running data or SQL nodes must
- have installed on it a MySQL server binary. For management
- nodes, it is not necessary to install the MySQL server binary,
- but you do have to install the MGM server daemon and client
- binaries (<command>ndb_mgmd</command> and
- <command>ndb_mgm</command>, respectively). This section covers
- the steps necessary to install the correct binaries for each
- type of Cluster node.
+ have installed on it a MySQL-max binary. For management nodes,
+ it is not necessary to install the MySQL server binary, but you
+ do have to install the MGM server daemon and client binaries
+ (<command>ndb_mgmd</command> and
<command>ndb_mgm</command>,
+ respectively). This section covers the steps necessary to
+ install the correct binaries for each type of Cluster node.
</para>
<para>
@@ -1185,11 +1225,13 @@
<xref linkend="mysql-cluster-multi-config"/>.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: After completing the
- installation, do not yet start any of the binaries. We show you
- how to do so following the configuration of all nodes.
- </para>
+ <note>
+ <para>
+ After completing the installation, do not yet start any of the
+ binaries. We show you how to do so following the configuration
+ of all nodes.
+ </para>
+ </note>
<para>
<emphasis role="bold">Data and SQL Node Installation —
@@ -1317,19 +1359,20 @@
on each machine where a data node or SQL node is to reside.
</para>
- <para>
- <emphasis role="bold">SQL Node Installation — RPM
- Files</emphasis>
- </para>
+ <formalpara>
- <para>
- On each machine to be used for hosting a cluster SQL node,
- install the MySQL RPM by executing the following command as the
- system root user, replacing the name shown for the RPM as
- necessary to match the name of the RPM downloaded from the MySQL
- AB web site:
- </para>
+ <title>SQL node installation — RPM files</title>
+ <para>
+ On each machine to be used for hosting a cluster SQL node,
+ install the MySQL RPM by executing the following command as
+ the system root user, replacing the name shown for the RPM as
+ necessary to match the name of the RPM downloaded from the
+ MySQL AB web site:
+ </para>
+
+ </formalpara>
+
<programlisting>
shell> <userinput>rpm -Uhv
MySQL-server-¤t-version;-0.glibc23.i386.rpm</userinput>
</programlisting>
@@ -1586,30 +1629,33 @@
<quote>A</quote>, data node <quote>B</quote>, and the SQL
node.
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: Once you have
- started a <command>mysqld</command> process with the
- <literal>ndbcluster</literal> and
- <literal>ndb-connectstring</literal> parameters in the
- <literal>[MYSQLD]</literal> in the
<filename>my.cnf</filename>
- file as shown previously, you cannot execute any <literal>CREATE
- TABLE</literal> or <literal>ALTER TABLE</literal> statements
- without having actually started the cluster. Otherwise, these
- statements will fail with an error. <emphasis>This is by
- design</emphasis>.
- </para>
+ <important>
+ <para>
+ Once you have started a <command>mysqld</command> process with
+ the <literal>ndbcluster</literal> and
+ <literal>ndb-connectstring</literal> parameters in the
+ <literal>[MYSQLD]</literal> in the
<filename>my.cnf</filename>
+ file as shown previously, you cannot execute any
+ <literal>CREATE TABLE</literal> or <literal>ALTER
+ TABLE</literal> statements without having actually started the
+ cluster. Otherwise, these statements will fail with an error.
+ <emphasis>This is by design</emphasis>.
+ </para>
+ </important>
- <para>
- <emphasis role="bold">Configuring the Management Node</emphasis>
- </para>
+ <formalpara>
- <para>
- The first step in configuring the MGM node is to create the
- directory in which the configuration file can be found and then
- to create the file itself. For example (running as
- <literal>root</literal>):
- </para>
+ <title>Configuring the management node</title>
+ <para>
+ The first step in configuring the MGM node is to create the
+ directory in which the configuration file can be found and
+ then to create the file itself. For example (running as
+ <literal>root</literal>):
+ </para>
+
+ </formalpara>
+
<programlisting>
shell> <userinput>mkdir /var/lib/mysql-cluster</userinput>
shell> <userinput>cd /var/lib/mysql-cluster</userinput>
@@ -1664,12 +1710,13 @@
# purposes such as running ndb_restore)
</programlisting>
- <para>
- (<emphasis role="bold">Note</emphasis>: The
- <literal>world</literal> database can be downloaded from
- <ulink url="&base-url-docs;"/>, where it can be found listed
- under <quote>Examples</quote>.)
- </para>
+ <note>
+ <para>
+ The <literal>world</literal> database can be downloaded from
+ <ulink url="&base-url-docs;"/>, where it can be found listed
+ under <quote>Examples</quote>.
+ </para>
+ </note>
<para>
After all the configuration files have been created and these
@@ -1688,13 +1735,15 @@
<xref linkend="mysql-cluster-backup-configuration"/>.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: The default port for
- Cluster management nodes is 1186; the default port for data
- nodes is 2202. Beginning with MySQL 5.0.3, this restriction is
- lifted, and the cluster automatically allocates ports for data
- nodes from those that are already free.
- </para>
+ <note>
+ <para>
+ The default port for Cluster management nodes is 1186; the
+ default port for data nodes is 2202. Beginning with MySQL
+ 5.0.3, this restriction is lifted, and the cluster
+ automatically allocates ports for data nodes from those that
+ are already free.
+ </para>
+ </note>
</section>
@@ -1720,7 +1769,7 @@
<listitem>
<para>
On the management host, issue the following command from the
- system shell to start the MGM node process:
+ system shell to start the management node process:
</para>
<remark role="todo">
@@ -1798,13 +1847,14 @@
id=4 (Version: ¤t-version;)
</programlisting>
- <para>
- <emphasis role="bold">Note</emphasis>: The SQL node is
- referenced here as <literal>[mysqld(API)]</literal>. This is
- perfectly normal, and reflects the fact that the
- <command>mysqld</command> process is acting as a cluster API
- node.
- </para>
+ <note>
+ <para>
+ The SQL node is referenced here as
+ <literal>[mysqld(API)]</literal>. This is perfectly normal,
+ and reflects the fact that the <command>mysqld</command>
+ process is acting as a cluster API node.
+ </para>
+ </note>
<para>
You should now be ready to work with databases, tables, and data
@@ -1872,11 +1922,16 @@
have a primary key. If no primary key is defined by the user
when a table is created, the <literal>NDB Cluster</literal>
storage engine automatically generates a hidden one.
- (<emphasis role="bold">Note</emphasis>: This hidden key
- takes up space just as does any other table index. It is not
- uncommon to encounter problems due to insufficient memory
- for accommodating these automatically created indexes.)
</para>
+
+ <note>
+ <para>
+ This hidden key takes up space just as does any other
+ table index. It is not uncommon to encounter problems due
+ to insufficient memory for accommodating these
+ automatically created indexes.)
+ </para>
+ </note>
</listitem>
</itemizedlist>
@@ -2189,7 +2244,7 @@
<para>
To shut down the cluster, enter the following command in a shell
- on the machine hosting the MGM node:
+ on the machine hosting the management node:
</para>
<programlisting>
@@ -2500,13 +2555,15 @@
server at <literal>localhost</literal> on port 1186.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: If you have installed
- MySQL from a binary tarball, you will need to specify the path
- of the <command>ndb_mgmd</command> and
<command>ndbd</command>
- servers explicitly. (Normally, these will be found in
- <filename>/usr/local/mysql/bin</filename>.)
- </para>
+ <note>
+ <para>
+ If you have installed MySQL from a binary tarball, you will
+ need to specify the path of the <command>ndb_mgmd</command>
+ and <command>ndbd</command> servers explicitly. (Normally,
+ these will be found in
+ <filename>/usr/local/mysql/bin</filename>.
+ </para>
+ </note>
<para>
Finally, change location to the MySQL data directory (usually
@@ -2766,18 +2823,20 @@
ndb-connectstring=ndb_mgmd.mysql.com:1186
</programlisting>
- <para>
- <emphasis role="bold">Important</emphasis>: Once you have
- started a <command>mysqld</command> process with the
- <literal>ndbcluster</literal> and
- <literal>ndb-connectstring</literal> parameters in the
- <literal>[MYSQLD]</literal> in the
<filename>my.cnf</filename>
- file as shown previously, you cannot execute any
- <literal>CREATE TABLE</literal> or <literal>ALTER
- TABLE</literal> statements without having actually started the
- cluster. Otherwise, these statements will fail with an error.
- <emphasis>This is by design</emphasis>.
- </para>
+ <important>
+ <para>
+ Once you have started a <command>mysqld</command> process
+ with the <literal>ndbcluster</literal> and
+ <literal>ndb-connectstring</literal> parameters in the
+ <literal>[MYSQLD]</literal> in the
+ <filename>my.cnf</filename> file as shown previously, you
+ cannot execute any <literal>CREATE TABLE</literal> or
+ <literal>ALTER TABLE</literal> statements without having
+ actually started the cluster. Otherwise, these statements
+ will fail with an error. <emphasis>This is by
+ design</emphasis>.
+ </para>
+ </important>
<para>
You may also use a separate <literal>[mysql_cluster]</literal>
@@ -3199,12 +3258,17 @@
<literal>[MGM]</literal> can be used as an alias; the two
section names are equivalent. All parameters in the following
list are optional and assume their default values if omitted.
- <emphasis role="bold">Note</emphasis>: If neither the
- <literal>ExecuteOnComputer</literal> nor the
- <literal>HostName</literal> parameter is present, the default
- value <literal>localhost</literal> will be assumed for both.
</para>
+ <note>
+ <para>
+ If neither the <literal>ExecuteOnComputer</literal> nor the
+ <literal>HostName</literal> parameter is present, the
+ default value <literal>localhost</literal> will be assumed
+ for both.
+ </para>
+ </note>
+
<itemizedlist>
<listitem>
@@ -3321,11 +3385,12 @@
or <literal>local7</literal>.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: Not every
- facility is necessarily supported by every operating
- system.
- </para>
+ <note>
+ <para>
+ Not every facility is necessarily supported by every
+ operating system.
+ </para>
+ </note>
<programlisting>
SYSLOG:facility=syslog
@@ -3556,16 +3621,18 @@
Parameter names and values are currently case-sensitive.
</para>
- <para id="mysql-cluster-identifying-data-nodes">
- <emphasis role="bold">Identifying Data Nodes</emphasis>
- </para>
+ <formalpara>
- <para>
- The <literal>Id</literal> value (that is, the data node
- identifier) can be allocated on the command line when the node
- is started or in the configuration file.
- </para>
+ <title>Identifying data nodes</title>
+ <para id="mysql-cluster-identifying-data-nodes">
+ The <literal>Id</literal> value (that is, the data node
+ identifier) can be allocated on the command line when the
+ node is started or in the configuration file.
+ </para>
+
+ </formalpara>
+
<itemizedlist>
<listitem>
@@ -3687,16 +3754,18 @@
value is 4.
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: The value for
- this parameter must divide evenly into the number of data
- nodes in the cluster. For example, if there are two data
- nodes, then <literal>NoOfReplicas</literal> must be equal
- to either 1 or 2, since 2/3 and 2/4 both yield fractional
- values; if there are four data nodes, then
- <literal>NoOfReplicas</literal> must be equal to 1, 2, or
- 4.
- </para>
+ <important>
+ <para>
+ The value for this parameter must divide evenly into the
+ number of data nodes in the cluster. For example, if
+ there are two data nodes, then
+ <literal>NoOfReplicas</literal> must be equal to either
+ 1 or 2, since 2/3 and 2/4 both yield fractional values;
+ if there are four data nodes, then
+ <literal>NoOfReplicas</literal> must be equal to 1, 2,
+ or 4.
+ </para>
+ </important>
</listitem>
<listitem>
@@ -3728,11 +3797,15 @@
created for metadata, REDO logs, UNDO logs and data files
are placed. The default is the directory specified by
<literal>DataDir</literal>.
- <emphasis role="bold">Note</emphasis>: This directory must
- exist before the <command>ndbd</command> process is
- initiated.
</para>
+ <note>
+ <para>
+ This directory must exist before the
+ <command>ndbd</command> process is initiated.
+ </para>
+ </note>
+
<para>
The recommended directory hierarchy for MySQL Cluster
includes <filename>/var/lib/mysql-cluster</filename>,
@@ -4091,22 +4164,24 @@
actually deleted until the transaction is committed.
</para>
- <para id="mysql-cluster-transaction-parameters">
- <emphasis role="bold">Transaction Parameters</emphasis>
- </para>
+ <formalpara>
- <para>
- The next three <literal>[NDBD]</literal> parameters that we
- discuss are important because they affect the number of
- parallel transactions and the sizes of transactions that can
- be handled by the system.
- <literal>MaxNoOfConcurrentTransactions</literal> sets the
- number of parallel transactions possible in a node.
- <literal>MaxNoOfConcurrentOperations</literal> sets the number
- of records that can be in update phase or locked
- simultaneously.
- </para>
+ <title>Transaction parameters</title>
+ <para id="mysql-cluster-transaction-parameters">
+ The next three <literal>[NDBD]</literal> parameters that we
+ discuss are important because they affect the number of
+ parallel transactions and the sizes of transactions that can
+ be handled by the system.
+ <literal>MaxNoOfConcurrentTransactions</literal> sets the
+ number of parallel transactions possible in a node.
+ <literal>MaxNoOfConcurrentOperations</literal> sets the
+ number of records that can be in update phase or locked
+ simultaneously.
+ </para>
+
+ </formalpara>
+
<para>
Both of these parameters (especially
<literal>MaxNoOfConcurrentOperations</literal>) are likely
@@ -4277,18 +4352,20 @@
</itemizedlist>
- <para id="mysql-cluster-transaction-temporary-storage">
- <emphasis role="bold">Transaction Temporary Storage</emphasis>
- </para>
+ <formalpara>
- <para>
- The next set of <literal>[NDBD]</literal> parameters is used
- to determine temporary storage when executing a statement that
- is part of a Cluster transaction. All records are released
- when the statement is completed and the cluster is waiting for
- the commit or rollback.
- </para>
+ <title>Transaction temporary storage</title>
+ <para id="mysql-cluster-transaction-temporary-storage">
+ The next set of <literal>[NDBD]</literal> parameters is used
+ to determine temporary storage when executing a statement
+ that is part of a Cluster transaction. All records are
+ released when the statement is completed and the cluster is
+ waiting for the commit or rollback.
+ </para>
+
+ </formalpara>
+
<para>
The default values for these parameters are adequate for most
situations. However, users with a need to support transactions
@@ -4402,13 +4479,11 @@
</itemizedlist>
- <para id="mysql-cluster-scans-and-buffering">
- <emphasis role="bold">Scans and Buffering</emphasis>
- </para>
+ <formalpara>
- <itemizedlist>
+ <title>Scans and buffering</title>
- <para>
+ <para id="mysql-cluster-scans-and-buffering">
There are additional <literal>[NDBD]</literal> parameters in
the <literal>Dblqh</literal> module (in
<filename>ndb/src/kernel/blocks/Dblqh/Dblqh.hpp</filename>)
@@ -4422,6 +4497,10 @@
of these compile-time limits should be increased.
</para>
+ </formalpara>
+
+ <itemizedlist>
+
<listitem>
<indexterm>
<primary><literal>MaxNoOfConcurrentScans</literal></primary>
@@ -4528,15 +4607,17 @@
</itemizedlist>
- <para id="mysql-cluster-logging-and-checkpointing">
- <emphasis role="bold">Logging and Checkpointing</emphasis>
- </para>
+ <formalpara>
- <para>
- These <literal>[NDBD]</literal> parameters control log and
- checkpoint behavior.
- </para>
+ <title>Logging and checkpointing</title>
+ <para id="mysql-cluster-logging-and-checkpointing">
+ These <literal>[NDBD]</literal> parameters control log and
+ checkpoint behavior.
+ </para>
+
+ </formalpara>
+
<itemizedlist>
<listitem>
@@ -4655,20 +4736,22 @@
</itemizedlist>
- <para id="mysql-cluster-metadata-objects">
- <emphasis role="bold">Metadata Objects</emphasis>
- </para>
+ <formalpara>
- <para>
- The next set of <literal>[NDBD]</literal> parameters defines
- pool sizes for metadata objects, used to define the maximum
- number of attributes, tables, indexes, and trigger objects
- used by indexes, events, and replication between clusters.
- Note that these act merely as <quote>suggestions</quote> to
- the cluster, and any that are not specified revert to the
- default values shown.
- </para>
+ <title>Metadata objects</title>
+ <para id="mysql-cluster-metadata-objects">
+ The next set of <literal>[NDBD]</literal> parameters defines
+ pool sizes for metadata objects, used to define the maximum
+ number of attributes, tables, indexes, and trigger objects
+ used by indexes, events, and replication between clusters.
+ Note that these act merely as <quote>suggestions</quote> to
+ the cluster, and any that are not specified revert to the
+ default values shown.
+ </para>
+
+ </formalpara>
+
<itemizedlist>
<listitem>
@@ -4848,20 +4931,22 @@
</itemizedlist>
- <para id="mysql-cluster-boolean-parameters">
- <emphasis role="bold">Boolean Parameters</emphasis>
- </para>
+ <formalpara>
- <para>
- The behavior of data nodes is also affected by a set of
- <literal>[NDBD]</literal> parameters taking on boolean values.
- These parameters can each be specified as
- <literal>TRUE</literal> by setting them equal to
- <literal>1</literal> or <literal>Y</literal>, and as
- <literal>FALSE</literal> by setting them equal to
- <literal>0</literal> or <literal>N</literal>.
- </para>
+ <title>Boolean parameters</title>
+ <para id="mysql-cluster-boolean-parameters">
+ The behavior of data nodes is also affected by a set of
+ <literal>[NDBD]</literal> parameters taking on boolean
+ values. These parameters can each be specified as
+ <literal>TRUE</literal> by setting them equal to
+ <literal>1</literal> or <literal>Y</literal>, and as
+ <literal>FALSE</literal> by setting them equal to
+ <literal>0</literal> or <literal>N</literal>.
+ </para>
+
+ </formalpara>
+
<itemizedlist>
<listitem>
@@ -4918,13 +5003,17 @@
default setting, and disabled locking.
<literal>1</literal> or <literal>true</literal>
enabled
locking of the process after its memory was allocated.
- <emphasis role="bold">Important</emphasis>: Beginning with
- MySQL 5.0.36, it is no longer possible to use
- <literal>true</literal> or <literal>false</literal>
for
- the value of this parameter; when upgrading from a
- previous version, you must change the value to
- <literal>0</literal>, <literal>1</literal>, or
- <literal>2</literal>.
+
+ <important>
+ <para>
+ Beginning with MySQL 5.0.36, it is no longer possible
+ to use <literal>true</literal> or
+ <literal>false</literal> for the value of this
+ parameter; when upgrading from a previous version, you
+ must change the value to <literal>0</literal>,
+ <literal>1</literal>, or <literal>2</literal>.
+ </para>
+ </important>
</para>
</listitem>
@@ -4968,11 +5057,12 @@
<command>ndbd</command> on a diskless computer.
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: This feature
- causes the <emphasis>entire</emphasis> cluster to operate
- in diskless mode.
- </para>
+ <important>
+ <para>
+ This feature causes the <emphasis>entire</emphasis>
+ cluster to operate in diskless mode.
+ </para>
+ </important>
<para>
When this feature is enabled, Cluster online backup is
@@ -5121,7 +5211,7 @@
example, in the case of a data node containing several
gigabytes of data, a period as long as 10−15 minutes
(that is, 600000 to 1000000 milliseconds) might be
- required to perform a node restart.
+ required to to perform a node restart.
</para>
</listitem>
@@ -5529,18 +5619,20 @@
</itemizedlist>
- <para id="mysql-cluster-buffering-and-logging">
- <emphasis role="bold">Buffering and Logging</emphasis>
- </para>
+ <formalpara>
- <para>
- Several <literal>[NDBD]</literal> configuration parameters
- corresponding to former compile-time parameters are also
- available. These enable the advanced user to have more control
- over the resources used by node processes and to adjust
- various buffer sizes at need.
- </para>
+ <title>Buffering and logging</title>
+ <para id="mysql-cluster-buffering-and-logging">
+ Several <literal>[NDBD]</literal> configuration parameters
+ corresponding to former compile-time parameters were
+ introduced in MySQL 4.1.5. These enable the advanced user to
+ have more control over the resources used by node processes
+ and to adjust various buffer sizes at need.
+ </para>
+
+ </formalpara>
+
<para>
These buffers are used as front ends to the file system when
writing log records to disk. If the node is running in
@@ -5602,11 +5694,12 @@
buffers overloaded</literal>).
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: It is not safe
- to decrease the value of this parameter during a rolling
- restart.
- </para>
+ <important>
+ <para>
+ It is not safe to decrease the value of this parameter
+ during a rolling restart.
+ </para>
+ </important>
</listitem>
<listitem>
@@ -5654,11 +5747,12 @@
(<errortext>Data UNDO buffers overloaded</errortext>).
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: It is not safe
- to decrease the value of this parameter during a rolling
- restart.
- </para>
+ <important>
+ <para>
+ It is not safe to decrease the value of this parameter
+ during a rolling restart.
+ </para>
+ </important>
</listitem>
<listitem>
@@ -5691,30 +5785,33 @@
overloaded</literal>).
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: It is not safe
- to decrease the value of this parameter during a rolling
- restart.
- </para>
+ <important>
+ <para>
+ It is not safe to decrease the value of this parameter
+ during a rolling restart.
+ </para>
+ </important>
</listitem>
</itemizedlist>
- <para id="mysql-cluster-controlling-log-messages">
- <emphasis role="bold">Controlling Log Messages</emphasis>
- </para>
+ <formalpara>
- <para>
- In managing the cluster, it is very important to be able to
- control the number of log messages sent for various event
- types to <literal>stdout</literal>. For each event category,
- there are 16 possible event levels (numbered 0 through 15).
- Setting event reporting for a given event category to level 15
- means all event reports in that category are sent to
- <literal>stdout</literal>; setting it to 0 means that there
- will be no event reports made in that category.
- </para>
+ <title>Controlling log messages</title>
+ <para id="mysql-cluster-controlling-log-messages">
+ In managing the cluster, it is very important to be able to
+ control the number of log messages sent for various event
+ types to <literal>stdout</literal>. For each event category,
+ there are 16 possible event levels (numbered 0 through 15).
+ Setting event reporting for a given event category to level
+ 15 means all event reports in that category are sent to
+ <literal>stdout</literal>; setting it to 0 means that there
+ will be no event reports made in that category.
+ </para>
+
+ </formalpara>
+
<para>
By default, only the startup message is sent to
<literal>stdout</literal>, with the remaining event reporting
@@ -5894,16 +5991,18 @@
</itemizedlist>
- <para id="mysql-cluster-backup-parameters">
- <emphasis role="bold">Backup Parameters</emphasis>
- </para>
+ <formalpara>
- <para>
- The <literal>[NDBD]</literal> parameters discussed in this
- section define memory buffers set aside for execution of
- online backups.
- </para>
+ <title>Backup parameters</title>
+ <para id="mysql-cluster-backup-parameters">
+ The <literal>[NDBD]</literal> parameters discussed in this
+ section define memory buffers set aside for execution of
+ online backups.
+ </para>
+
+ </formalpara>
+
<itemizedlist>
<listitem>
@@ -5996,13 +6095,15 @@
The default value is 2MB + 2MB = 4MB.
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: If
- <literal>BackupDataBufferSize</literal> and
- <literal>BackupLogBufferSize</literal> taken together
- exceed 4MB, then this parameter must be set explicitly in
- the <filename>config.ini</filename> file to their sum.
- </para>
+ <important>
+ <para>
+ If <literal>BackupDataBufferSize</literal> and
+ <literal>BackupLogBufferSize</literal> taken together
+ exceed 4MB, then this parameter must be set explicitly
+ in the <filename>config.ini</filename> file to their
+ sum.
+ </para>
+ </important>
</listitem>
<listitem>
@@ -6045,11 +6146,13 @@
</itemizedlist>
- <para>
- <emphasis role="bold">Important</emphasis>: When specifying
- these parameters, the following relationships must hold true.
- Otherwise, the data node will be unable to start.
- </para>
+ <important>
+ <para>
+ When specifying these parameters, the following
+ relationships must hold true. Otherwise, the data node will
+ be unable to start.
+ </para>
+ </important>
<itemizedlist>
@@ -6599,15 +6702,16 @@
values that should work well in most cases.
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: <emphasis>SHM
- functionality is considered experimental only</emphasis>. It
- is not officially supported in any MySQL release series up to
- and including ¤t-series;. This means that you must
- determine for yourself or by using our free resources (forums,
- mailing lists) whether it can be made to work correctly in
- your specific case.
- </para>
+ <important>
+ <para>
+ <emphasis>SHM functionality is considered experimental
+ only</emphasis>. It is not officially supported in any MySQL
+ release series up to and including ¤t-series;. This
+ means that you must determine for yourself or by using our
+ free resources (forums, mailing lists) whether it can be
+ made to work correctly in your specific case.
+ </para>
+ </important>
<itemizedlist>
@@ -7028,19 +7132,21 @@
configuration parameter values.
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: Values for numeric
- cluster parameters can generally be increased without any
- problems, although it is advisable to do so progressively,
- making such adjustments in relatively small increments. However,
- decreasing the values of such parameters — particularly
- those relating to memory usage and disk space — is not to
- be undertaken lightly, and it is recommended that you do so only
- following careful planning and testing. In addition, it is the
- generally the case that parameters relating to memory and disk
- usage which can be raised using a simple node restart require an
- initial node restart to be lowered.
- </para>
+ <important>
+ <para>
+ Values for numeric cluster parameters can generally be
+ increased without any problems, although it is advisable to do
+ so progressively, making such adjustments in relatively small
+ increments. However, decreasing the values of such parameters
+ — particularly those relating to memory usage and disk
+ space — is not to be undertaken lightly, and it is
+ recommended that you do so only following careful planning and
+ testing. In addition, it is the generally the case that
+ parameters relating to memory and disk usage which can be
+ raised using a simple node restart require an initial node
+ restart to be lowered.
+ </para>
+ </important>
<para>
Because some of these parameters can be used for configuring
@@ -8321,63 +8427,88 @@
<itemizedlist>
<listitem>
- <indexterm>
- <primary>MySQL Cluster</primary>
- <secondary>configuration changes</secondary>
- </indexterm>
+ <formalpara>
- <para>
- <emphasis role="bold">Cluster Configuration
- Change</emphasis>: To make a change in the cluster's
- configuration, such as adding an SQL node to the cluster, or
- setting a configuration parameter to a new value.
- </para>
+ <title>Cluster configuration change</title>
+
+ <indexterm>
+ <primary>MySQL Cluster</primary>
+ <secondary>configuration changes</secondary>
+ </indexterm>
+
+ <para>
+ To make a change in the cluster's configuration, such as
+ adding an SQL node to the cluster, or setting a
+ configuration parameter to a new value.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Cluster Software
- Upgrade/Downgrade</emphasis>: To upgrade the cluster to a
- newer version of the MySQL Cluster software (or to downgrade
- it to an older version). This is usually referred to as a
- <quote>rolling upgrade</quote> (or <quote>rolling
- downgrade</quote>, when reverting to an older version of
- MySQL Cluster).
- </para>
+ <formalpara>
+
+ <title>Cluster software upgrade/downgrade</title>
+
+ <para>
+ To upgrade the cluster to a newer version of the MySQL
+ Cluster software (or to downgrade it to an older version).
+ This is usually referred to as a <quote>rolling
+ upgrade</quote> (or <quote>rolling downgrade</quote>,
when
+ reverting to an older version of MySQL Cluster).
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Change on Node Host</emphasis>: To
- make changes in the hardware or operating system on which
- one or more cluster nodes are running
- </para>
+ <formalpara>
+
+ <title>Change on node host</title>
+
+ <para>
+ To make changes in the hardware or operating system on
+ which one or more cluster nodes are running
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <indexterm>
- <primary>MySQL Cluster</primary>
- <secondary>resetting</secondary>
- </indexterm>
+ <formalpara>
- <para>
- <emphasis role="bold">Cluster Reset</emphasis>: To reset the
- cluster because it has reached an undesirable state
- </para>
+ <title>Cluster reset</title>
+
+ <indexterm>
+ <primary>MySQL Cluster</primary>
+ <secondary>resetting</secondary>
+ </indexterm>
+
+ <para>
+ To reset the cluster because it has reached an undesirable
+ state
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <indexterm>
- <primary>MySQL Cluster</primary>
- <secondary>memory usage and recovery</secondary>
- </indexterm>
+ <formalpara>
- <para>
- <emphasis role="bold">Freeing of Resources</emphasis>: To
- allow memory allocated to a table by successive
- <literal>INSERT</literal> and
<literal>DELETE</literal>
- operations to be freed for re-use by other Cluster tables
- </para>
+ <title>Freeing of resources</title>
+
+ <indexterm>
+ <primary>MySQL Cluster</primary>
+ <secondary>memory usage and recovery</secondary>
+ </indexterm>
+
+ <para>
+ To allow memory allocated to a table by successive
+ <literal>INSERT</literal> and
<literal>DELETE</literal>
+ operations to be freed for re-use by other Cluster tables
+ </para>
+
+ </formalpara>
</listitem>
</itemizedlist>
@@ -8485,18 +8616,19 @@
Server for purposes of performing upgrades and downgrades.
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: Only compatibility
- between MySQL versions with regard to <literal>NDB
- Cluster</literal> is taken into account in this section, and
- there are likely other issues to be considered. <emphasis>As
- with any other MySQL software upgrade or downgrade, you are
- strongly encouraged to review the relevant portions of the MySQL
- Manual for the MySQL versions from which and to which you intend
- to migrate, before attempting an upgrade or downgrade of the
- MySQL Cluster software</emphasis>. See
- <xref linkend="upgrade"/>.
- </para>
+ <important>
+ <para>
+ Only compatibility between MySQL versions with regard to
+ <literal>NDB Cluster</literal> is taken into account in this
+ section, and there are likely other issues to be considered.
+ <emphasis>As with any other MySQL software upgrade or
+ downgrade, you are strongly encouraged to review the relevant
+ portions of the MySQL Manual for the MySQL versions from which
+ and to which you intend to migrate, before attempting an
+ upgrade or downgrade of the MySQL Cluster software</emphasis>.
+ See <xref linkend="upgrade"/>.
+ </para>
+ </important>
<remark role="note">
[js] Table info extracted from the file
@@ -9100,18 +9232,19 @@
<xref linkend="ndbd-error-messages"/>.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: <emphasis>It is
- very important to be aware that the last entry in the
- error log file is not necessarily the newest
- one</emphasis> (nor is it likely to be). Entries in the
- error log are <emphasis>not</emphasis> listed in
- chronological order; rather, they correspond to the
- order of the trace files as determined in the
-
<filename>ndb_<replaceable>node_id</replaceable>_trace.log.next</filename>
- file (see below). Error log entries are thus overwritten
- in a cyclical and not sequential fashion.
- </para>
+ <important>
+ <para>
+ <emphasis>The last entry in the error log file is not
+ necessarily the newest one</emphasis> (nor is it
+ likely to be). Entries in the error log are
+ <emphasis>not</emphasis> listed in chronological
+ order; rather, they correspond to the order of the
+ trace files as determined in the
+
<filename>ndb_<replaceable>node_id</replaceable>_trace.log.next</filename>
+ file (see below). Error log entries are thus
+ overwritten in a cyclical and not sequential fashion.
+ </para>
+ </important>
</listitem>
<listitem>
@@ -10120,13 +10253,14 @@
<filename>config.ini</filename>.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: This option also
- can be given as <option>-c
- <replaceable>file_name</replaceable></option>, but this
- shortcut is obsolete and should <emphasis>not</emphasis>
- be used in new installations.
- </para>
+ <note>
+ <para>
+ This option also can be given as <option>-c
+ <replaceable>file_name</replaceable></option>, but this
+ shortcut is obsolete and should <emphasis>not</emphasis>
+ be used in new installations.
+ </para>
+ </note>
</listitem>
<listitem>
@@ -10775,12 +10909,13 @@
Displays information on the cluster's status.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: In a cluster where
- multiple management nodes are in use, this command displays
- information only for data nodes that are actually connected
- to the current management server.
- </para>
+ <note>
+ <para>
+ In a cluster where multiple management nodes are in use,
+ this command displays information only for data nodes that
+ are actually connected to the current management server.
+ </para>
+ </note>
</listitem>
<listitem>
@@ -10805,16 +10940,22 @@
<para>
Beginning with MySQL 5.0.19, this command can also be used
to individual management nodes online.
- <emphasis role="bold">Note</emphasis>: <literal>ALL
- START</literal> continues to affect data nodes only.
+
+ <note>
+ <para>
+ <literal>ALL START</literal> continues to affect data
+ nodes only.
+ </para>
+ </note>
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: To use this
- command to bring a data node online, the data node must have
- been started using <command>ndbd --nostart</command> or
- <command>ndbd -n</command>.
- </para>
+ <important>
+ <para>
+ To use this command to bring a data node online, the data
+ node must have been started using <command>ndbd
+ --nostart</command> or <command>ndbd -n</command>.
+ </para>
+ </important>
</listitem>
<listitem>
@@ -10839,8 +10980,13 @@
<para>
Beginning with MySQL 5.0.19, this command can also be used
to stop individual management nodes.
- <emphasis role="bold">Note</emphasis>: <literal>ALL
- STOP</literal> continues to affect data nodes only.
+
+ <note>
+ <para>
+ <literal>ALL STOP</literal> continues to affect data
+ nodes only.
+ </para>
+ </note>
</para>
<para>
@@ -10948,14 +11094,15 @@
is allowed to access the database.
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: Do not attempt
- to have data nodes join the cluster while it is running in
- single user mode. Doing so can cause subsequent multiple
- node failures. Beginning with MySQL 5.1.12, it is no longer
- possible to add nodes while in single user mode. (See Bug
- #20395 for more information.)
- </para>
+ <important>
+ <para>
+ Do not attempt to have data nodes join the cluster while
+ it is running in single user mode. Doing so can cause
+ subsequent multiple node failures. Beginning with MySQL
+ 5.0.29, it is no longer possible to add nodes while in
+ single user mode. (See Bug #20395 for more information.)
+ </para>
+ </important>
</listitem>
<listitem>
@@ -11466,12 +11613,16 @@
<para>
The following table shows the event severity levels.
- (<emphasis role="bold">Note</emphasis>: These correspond to
- Unix <literal>syslog</literal> levels, except for
- <literal>LOG_EMERG</literal> and
- <literal>LOG_NOTICE</literal>, which are not used or mapped.)
</para>
+ <note>
+ <para>
+ These correspond to Unix <literal>syslog</literal> levels,
+ except for <literal>LOG_EMERG</literal> and
+ <literal>LOG_NOTICE</literal>, which are not used or mapped.
+ </para>
+ </note>
+
<informaltable>
<tgroup cols="3">
<colspec colwidth="10*"/>
@@ -12440,13 +12591,14 @@
ndb_mgm> <userinput>ALL CLUSTERLOG STATISTICS=15</userinput>
</programlisting>
- <para>
- <emphasis role="bold">Note</emphasis>: Setting the threshold
- for <literal>STATISTICS</literal> to 15 causes the cluster log
- to become very verbose, and to gow quite rapidly in size, in
- direct proportion to the number of cluster nodes and the
- amount of activity on the cluster.
- </para>
+ <note>
+ <para>
+ Setting the threshold for <literal>STATISTICS</literal> to
+ 15 causes the cluster log to become very verbose, and to gow
+ quite rapidly in size, in direct proportion to the number of
+ cluster nodes and the amount of activity on the cluster.
+ </para>
+ </note>
</section>
@@ -12504,12 +12656,13 @@
attempting to specify any other type of node will be rejected.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: When the preceding
- commmand is invoked, all transactions running on the designated
- node are aborted, the connection is closed, and the server must
- be restarted.
- </para>
+ <note>
+ <para>
+ When the preceding commmand is invoked, all transactions
+ running on the designated node are aborted, the connection is
+ closed, and the server must be restarted.
+ </para>
+ </note>
<para>
The command <command>EXIT SINGLE USER MODE</command> changes the
@@ -12801,26 +12954,41 @@
<itemizedlist>
<listitem>
- <para>
- <emphasis role="bold">Metadata</emphasis>: the names and
- definitions of all database tables
- </para>
+ <formalpara>
+
+ <title>Metadata</title>
+
+ <para>
+ The names and definitions of all database tables
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Table records</emphasis>: the data
- actually stored in the database tables at the time that the
- backup was made
- </para>
+ <formalpara>
+
+ <title>Table records</title>
+
+ <para>
+ The data actually stored in the database tables at the
+ time that the backup was made
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Transaction log</emphasis>: a
- sequential record telling how and when data was stored in
- the database
- </para>
+ <formalpara>
+
+ <title>Transaction log</title>
+
+ <para>
+ A sequential record telling how and when data was stored
+ in the database
+ </para>
+
+ </formalpara>
</listitem>
</itemizedlist>
@@ -12958,13 +13126,6 @@
backup request. It does <emphasis>not</emphasis> mean that
the backup has been completed.
</para>
-
- <para>
- <emphasis role="bold">Note</emphasis>: Backup messages were
- not recorded in the cluster log in MySQL 5.1.12 or 5.1.13.
- The logging of backup operations was restored in MySQL
- 5.1.14 (see Bug #24544).
- </para>
</listitem>
<listitem>
@@ -13043,11 +13204,15 @@
The management client will acknowledge the abort request
with <literal>Abort of backup
<replaceable>backup_id</replaceable> ordered</literal>.
- <emphasis role="bold">Note</emphasis>: At this point, the
- management client has not yet received a response from the
- cluster data nodes to this request, and the backup has not
- yet actually been aborted.
</para>
+
+ <note>
+ <para>
+ At this point, the management client has not yet received
+ a response from the cluster data nodes to this request,
+ and the backup has not yet actually been aborted.
+ </para>
+ </note>
</listitem>
<listitem>
@@ -13074,11 +13239,16 @@
the abort was due to a request by the user. (The remaining
nodes report that the backup was aborted due to an
unspecified internal error.)
- <emphasis role="bold">Note</emphasis>: There is no guarantee
- that the cluster nodes will respond to an <literal>ABORT
- BACKUP</literal> command in any particular order.
</para>
+ <note>
+ <para>
+ There is no guarantee that the cluster nodes respond to an
+ <literal>ABORT BACKUP</literal> command in any particular
+ order.
+ </para>
+ </note>
+
<para>
The <literal>Backup <replaceable>backup_id</replaceable>
started from node
@@ -13100,13 +13270,15 @@
shell> <userinput>ndb_mgm -e "ABORT BACKUP
<replaceable>backup_id</replaceable>"</userinput>
</programlisting>
- <para>
- <emphasis role="bold">Note</emphasis>: If there is no backup
- with ID <replaceable>backup_id</replaceable> running when an
- <literal>ABORT BACKUP</literal> is issued, the management client
- makes no response, nor is it indicated in the cluster log that
- an invalid abort command was sent.
- </para>
+ <note>
+ <para>
+ If there is no backup with ID
+ <replaceable>backup_id</replaceable> running when an
+ <literal>ABORT BACKUP</literal> is issued, the management
+ client makes no response, nor is it indicated in the cluster
+ log that an invalid abort command was sent.
+ </para>
+ </note>
</section>
@@ -13190,14 +13362,16 @@
<secondary>and
<command>ndb_restore</command></secondary>
</indexterm>
- <para>
- <emphasis role="bold">Note</emphasis>: Before using
- <command>ndb_restore</command>, it is recommended that the
- cluster be running in single user mode, unless you are
- restoring multiple data nodes in parallel. See
- <xref linkend="mysql-cluster-single-user-mode"/>, for more
- information about single user mode.
- </para>
+ <note>
+ <para>
+ Before using <command>ndb_restore</command>, it is
+ recommended that the cluster be running in single user
+ mode, unless you are restoring multiple data nodes in
+ parallel. See
+ <xref linkend="mysql-cluster-single-user-mode"/>, for more
+ information about single user mode.
+ </para>
+ </note>
<para>
Typical options for this utility are shown here:
@@ -13753,14 +13927,19 @@
If an error code is returned when issuing a backup request, the
most likely cause is insufficient memory or disk space. You
should check that there is enough memory allocated for the
- backup. <emphasis role="bold">Important</emphasis>: If you have
- set <literal>BackupDataBufferSize</literal> and
- <literal>BackupLogBufferSize</literal> and their sum is greater
- than 4MB, then you must also set <literal>BackupMemory</literal>
- as well. See
- <link
linkend="mysql-cluster-param-ndbd-definition-backupmemory"><literal>BackupMemory</literal></link>.
+ backup.
</para>
+ <important>
+ <para>
+ If you have set <literal>BackupDataBufferSize</literal> and
+ <literal>BackupLogBufferSize</literal> and their sum is
+ greater than 4MB, then you must also set
+ <literal>BackupMemory</literal> as well. See
+ <link
linkend="mysql-cluster-param-ndbd-definition-backupmemory"><literal>BackupMemory</literal></link>.
+ </para>
+ </important>
+
<para>
You should also make sure that there is sufficient space on the
hard drive partition of the backup target.
@@ -14080,14 +14259,16 @@
be found in the sections that follow.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: All of these utilities
- (except for <command>ndb_size.pl</command> and
- <command>ndb_config</command>) can use the options discussed in
- <xref linkend="mysql-cluster-command-options"/>. Additional
- options specific to each utility program are discussed in the
- individual program listings.
- </para>
+ <note>
+ <para>
+ All of these utilities (except for
+ <command>ndb_size.pl</command> and
+ <command>ndb_config</command>) can use the options discussed in
+ <xref linkend="mysql-cluster-command-options"/>. Additional
+ options specific to each utility program are discussed in the
+ individual program listings.
+ </para>
+ </note>
<para>
The order in which these options are used is generally not
@@ -14246,12 +14427,14 @@
defaults to <literal>localhost:1186</literal>.
</para>
- <para>
- The use of <option>-c</option> as a short version for
- this option is supported for
- <command>ndb_config</command> beginning with MySQL
- 5.0.29.
- </para>
+ <note>
+ <para>
+ The use of <option>-c</option> as a short version for
+ this option is supported for
+ <command>ndb_config</command> beginning with MySQL
+ 5.0.29.
+ </para>
+ </note>
</listitem>
<listitem>
@@ -14326,13 +14509,14 @@
<literal>IndexMemory</literal> for each node.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: If a given
- parameter is not applicable to a certain type of node,
- than an empty string is returned for the corresponding
- value. See the examples later in this section for more
- information.
- </para>
+ <note>
+ <para>
+ If a given parameter is not applicable to a certain
+ type of node, than an empty string is returned for the
+ corresponding value. See the examples later in this
+ section for more information.
+ </para>
+ </note>
</listitem>
<listitem>
@@ -14463,12 +14647,13 @@
character).
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: If the
- <replaceable>delimiter</replaceable> contains spaces or
- escapes (such as <literal>\n</literal> for the linefeed
- character), then it must be quoted.
- </para>
+ <note>
+ <para>
+ If the <replaceable>delimiter</replaceable> contains
+ spaces or escapes (such as <literal>\n</literal> for
+ the linefeed character), then it must be quoted.
+ </para>
+ </note>
</listitem>
<listitem>
@@ -14493,12 +14678,13 @@
a space character.
</para>
- <para>
- <emphasis role="bold">Note</emphasis>: If the
- <replaceable>separator</replaceable> contains spaces or
- escapes (such as <literal>\n</literal> for the linefeed
- character), then it must be quoted.
- </para>
+ <note>
+ <para>
+ If the <replaceable>separator</replaceable> contains
+ spaces or escapes (such as <literal>\n</literal> for
+ the linefeed character), then it must be quoted.
+ </para>
+ </note>
</listitem>
</itemizedlist>
@@ -14765,12 +14951,13 @@
performed as a single transaction.
</para>
- <para>
- <emphasis role="bold">Warning</emphasis>: With very
- large tables, this using this option may cause the
- number of operations available to the cluster to be
- exceeded.
- </para>
+ <warning>
+ <para>
+ With very large tables, using this option may cause
+ the number of operations available to the cluster to
+ be exceeded.
+ </para>
+ </warning>
</listitem>
</itemizedlist>
@@ -15001,14 +15188,15 @@
that are specific to this application.
</para>
- <para>
- <emphasis role="bold">Warning</emphasis>:
- <emphasis>Operations performed on Cluster table indexes
- using the NDB API are not visible to MySQL and make the
- table unusable by a MySQL server</emphasis>. If you use this
- program to drop an index, then try to access the table from
- an SQL node, an error results, as shown here:
- </para>
+ <warning>
+ <para>
+ <emphasis>Operations performed on Cluster table indexes
+ using the NDB API are not visible to MySQL and make the
+ table unusable by a MySQL server</emphasis>. If you use
+ this program to drop an index, then try to access the
+ table from an SQL node, an error results, as shown here:
+ </para>
+ </warning>
<programlisting>
shell> <userinput>./ndb_drop_index -c localhost dogs ix -d
ctest1</userinput>
@@ -16145,15 +16333,17 @@
</itemizedlist>
- <para>
- <emphasis role="bold">Note</emphasis>: Only user-created
- Cluster tables may be accessed from MySQL; system tables
- such as <literal>SYSTAB_0</literal> are not visible to
- <command>mysqld</command>. However, you can examine the
- contents of system tables using <literal>NDB</literal> API
- applications such as <command>ndb_select_all</command> (see
- <xref linkend="mysql-cluster-utilities-ndb-select-all"/>).
- </para>
+ <note>
+ <para>
+ Only user-created Cluster tables may be accessed from
+ MySQL; system tables such as <literal>SYSTAB_0</literal>
+ are not visible to <command>mysqld</command>. However, you
+ can examine the contents of system tables using
+ <literal>NDB</literal> API applications such as
+ <command>ndb_select_all</command> (see
+ <xref linkend="mysql-cluster-utilities-ndb-select-all"/>).
+ </para>
+ </note>
</refsection>
@@ -16574,18 +16764,20 @@
</itemizedlist>
- <para>
- <emphasis role="bold">Sample Output</emphasis>:
- </para>
+ <formalpara>
- <para>
- Shown here is the output from <command>ndb_waiter</command>
- when run against a 4-node cluster in which two nodes have
- been shut down and then started again manually. Duplicate
- reports (indicated by
<quote><literal>...</literal></quote>)
- are omitted.
- </para>
+ <title>Sample Output</title>
+ <para>
+ Shown here is the output from
+ <command>ndb_waiter</command> when run against a 4-node
+ cluster in which two nodes have been shut down and then
+ started again manually. Duplicate reports (indicated by
+ <quote><literal>...</literal></quote>) are omitted.
+ </para>
+
+ </formalpara>
+
<programlisting>
shell> <userinput>./ndb_waiter -c localhost</userinput>
@@ -16647,12 +16839,14 @@
NDBT_ProgramExit: 0 - OK
</programlisting>
- <para>
- <emphasis role="bold">Note</emphasis>: If no connectstring
- is specified, then <command>ndb_waiter</command> tries to
- connect to a management on <literal>localhost</literal>, and
- reports <literal>Connecting to mgmsrv at (null)</literal>.
- </para>
+ <note>
+ <para>
+ If no connectstring is specified, then
+ <command>ndb_waiter</command> tries to connect to a
+ management on <literal>localhost</literal>, and reports
+ <literal>Connecting to mgmsrv at (null)</literal>.
+ </para>
+ </note>
</refsection>
@@ -16782,15 +16976,17 @@
October 2004.
</para>
- <para>
- <emphasis role="bold">Prerequisites</emphasis>
- </para>
+ <formalpara>
- <para>
- Any machines with which you wish to use SCI Sockets must be
- equipped with SCI cards.
- </para>
+ <title>Prerequisites</title>
+ <para>
+ Any machines with which you wish to use SCI Sockets must be
+ equipped with SCI cards.
+ </para>
+
+ </formalpara>
+
<para>
No special builds (other than the <literal>-max</literal>
builds) are needed for SCI Sockets because it uses normal TCP/IP
@@ -16892,23 +17088,25 @@
<ulink url="http://www.dolphinics.no/support/downloads.html"/>.
</para>
- <para>
- <emphasis role="bold">Package Installation</emphasis>
- </para>
+ <formalpara>
- <indexterm>
- <primary>MySQL Cluster</primary>
- <secondary>SCI software installation</secondary>
- </indexterm>
+ <title>Package Installation</title>
- <para>
- Once you have obtained the library packages, the next step is to
- unpack them into appropriate directories, with the SCI Sockets
- library unpacked into a directory below the DIS code. Next, you
- need to build the libraries. This example shows the commands
- used on Linux/x86 to perform this task:
- </para>
+ <indexterm>
+ <primary>MySQL Cluster</primary>
+ <secondary>SCI software installation</secondary>
+ </indexterm>
+ <para>
+ Once you have obtained the library packages, the next step is
+ to unpack them into appropriate directories, with the SCI
+ Sockets library unpacked into a directory below the DIS code.
+ Next, you need to build the libraries. This example shows the
+ commands used on Linux/x86 to perform this task:
+ </para>
+
+ </formalpara>
+
<programlisting>
shell> <userinput>tar xzf DIS_GPL_2_5_0_SEP_10_2004.tar.gz</userinput>
shell> <userinput>cd DIS_GPL_2_5_0_SEP_10_2004/src/</userinput>
@@ -16935,10 +17133,8 @@
<filename>DIS-<replaceable><operating-system></replaceable>-<replaceable>time</replaceable>-<replaceable>date</replaceable></filename>.
It is now time to install the package in the proper place. In
this example we will place the installation in
- <filename>/opt/DIS</filename>.
- (<emphasis role="bold">Note</emphasis>: You will most likely
- need to run the following as the system <literal>root</literal>
- user.)
+ <filename>/opt/DIS</filename>. You most likely need to run the
+ following as the system <literal>root</literal> user.)
</para>
<programlisting>
@@ -16948,26 +17144,28 @@
shell> <userinput>mv DIS_Linux_2.4.20-8_181004 DIS</userinput>
</programlisting>
- <para>
- <emphasis role="bold">Network Configuration</emphasis>
- </para>
+ <formalpara>
- <indexterm>
- <primary>MySQL Cluster</primary>
- <secondary>network configuration (SCI)</secondary>
- </indexterm>
+ <title>Network Configuration</title>
- <indexterm>
- <primary>MySQL Cluster</primary>
- <secondary>SCI network configuration</secondary>
- </indexterm>
+ <indexterm>
+ <primary>MySQL Cluster</primary>
+ <secondary>network configuration (SCI)</secondary>
+ </indexterm>
- <para>
- Now that all the libraries and binaries are in their proper
- place, we need to ensure that the SCI cards have proper node IDs
- within the SCI address space.
- </para>
+ <indexterm>
+ <primary>MySQL Cluster</primary>
+ <secondary>SCI network configuration</secondary>
+ </indexterm>
+ <para>
+ Now that all the libraries and binaries are in their proper
+ place, we need to ensure that the SCI cards have proper node
+ IDs within the SCI address space.
+ </para>
+
+ </formalpara>
+
<para>
It is also necessary to decide on the network structure before
proceeding. There are three types of network structures which
@@ -17123,20 +17321,22 @@
DisablePortRange tcp 2220 2231
</programlisting>
- <para>
- <emphasis role="bold">Driver Installation</emphasis>
- </para>
+ <formalpara>
- <indexterm>
- <primary>MySQL Cluster</primary>
- <secondary>SCI drivers</secondary>
- </indexterm>
+ <title>Driver Installation</title>
- <para>
- With the configuration files in place, the drivers can be
- installed.
- </para>
+ <indexterm>
+ <primary>MySQL Cluster</primary>
+ <secondary>SCI drivers</secondary>
+ </indexterm>
+ <para>
+ With the configuration files in place, the drivers can be
+ installed.
+ </para>
+
+ </formalpara>
+
<para>
First, the low-level drivers and then the SCI socket driver need
to be installed:
@@ -17175,22 +17375,29 @@
shell> <userinput>./ksocketconfig -f</userinput>
</programlisting>
- <para>
- <emphasis role="bold">Testing the Setup</emphasis>
- </para>
+ <formalpara>
- <para>
- To ensure that SCI sockets are actually being used, you can
- employ the <command>latency_bench</command> test program. Using
- this utility's server component, clients can connect to the
- server to test the latency of the connection. Determining
- whether SCI is enabled should be fairly simple from observing
- the latency. (<emphasis role="bold">Note</emphasis>: Before
- using <command>latency_bench</command>, it is necessary to set
- the <literal>LD_PRELOAD</literal> environment variable as shown
- later in this section.)
- </para>
+ <title>Testing the Setup</title>
+ <para>
+ To ensure that SCI sockets are actually being used, you can
+ employ the <command>latency_bench</command> test program.
+ Using this utility's server component, clients can connect to
+ the server to test the latency of the connection. Determining
+ whether SCI is enabled should be fairly simple from observing
+ the latency.
+ </para>
+
+ </formalpara>
+
+ <note>
+ <para>
+ Before using <command>latency_bench</command>, it is necessary
+ to set the <literal>LD_PRELOAD</literal> environment variable
+ as shown later in this section.
+ </para>
+ </note>
+
<para>
To set up a server, use the following:
</para>
@@ -17216,19 +17423,21 @@
(see <xref linkend="mysql-cluster-sci-definition"/>).
</para>
- <para>
- <emphasis role="bold">Starting the Cluster</emphasis>
- </para>
+ <formalpara>
- <para>
- The next step in the process is to start MySQL Cluster. To
- enable usage of SCI Sockets it is necessary to set the
- environment variable <literal>LD_PRELOAD</literal> before
- starting <command>ndbd</command>,
<command>mysqld</command>, and
- <command>ndb_mgmd</command>. This variable should point to the
- kernel library for SCI Sockets.
- </para>
+ <title>Starting the Cluster</title>
+ <para>
+ The next step in the process is to start MySQL Cluster. To
+ enable usage of SCI Sockets it is necessary to set the
+ environment variable <literal>LD_PRELOAD</literal> before
+ starting <command>ndbd</command>,
<command>mysqld</command>,
+ and <command>ndb_mgmd</command>. This variable should point to
+ the kernel library for SCI Sockets.
+ </para>
+
+ </formalpara>
+
<para>
To start <command>ndbd</command> in a bash shell, do the
following:
@@ -17248,10 +17457,11 @@
tcsh-shell> <userinput>ndbd</userinput>
</programlisting>
- <para>
- <emphasis role="bold">Note</emphasis>: MySQL Cluster can use
- only the kernel variant of SCI Sockets.
- </para>
+ <note>
+ <para>
+ MySQL Cluster can use only the kernel variant of SCI Sockets.
+ </para>
+ </note>
</section>
@@ -17284,54 +17494,60 @@
<itemizedlist>
<listitem>
- <para>
- <emphasis role="bold">Primary key access</emphasis>
- </para>
+ <formalpara>
- <para>
- This is access of a record through its primary key. In the
- simplest case, only one record is accessed at a time, which
- means that the full cost of setting up a number of TCP/IP
- messages and a number of costs for context switching are
- borne by this single request. In the case where multiple
- primary key accesses are sent in one batch, those accesses
- share the cost of setting up the necessary TCP/IP messages
- and context switches. If the TCP/IP messages are for
- different destinations, additional TCP/IP messages need to
- be set up.
- </para>
+ <title>Primary key access</title>
+
+ <para>
+ This is access of a record through its primary key. In the
+ simplest case, only one record is accessed at a time,
+ which means that the full cost of setting up a number of
+ TCP/IP messages and a number of costs for context
+ switching are borne by this single request. In the case
+ where multiple primary key accesses are sent in one batch,
+ those accesses share the cost of setting up the necessary
+ TCP/IP messages and context switches. If the TCP/IP
+ messages are for different destinations, additional TCP/IP
+ messages need to be set up.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Unique key access</emphasis>
- </para>
+ <formalpara>
- <para>
- Unique key accesses are similar to primary key accesses,
- except that a unique key access is executed as a read on an
- index table followed by a primary key access on the table.
- However, only one request is sent from the MySQL Server, and
- the read of the index table is handled by
- <command>ndbd</command>. Such requests also benefit from
- batching.
- </para>
+ <title>Unique key access</title>
+
+ <para>
+ Unique key accesses are similar to primary key accesses,
+ except that a unique key access is executed as a read on
+ an index table followed by a primary key access on the
+ table. However, only one request is sent from the MySQL
+ Server, and the read of the index table is handled by
+ <command>ndbd</command>. Such requests also benefit from
+ batching.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Full table scan</emphasis>
- </para>
+ <formalpara>
- <para>
- When no indexes exist for a lookup on a table, a full table
- scan is performed. This is sent as a single request to the
- <command>ndbd</command> process, which then divides the
- table scan into a set of parallel scans on all cluster
- <command>ndbd</command> processes. In future versions of
- MySQL Cluster, an SQL node will be able to filter some of
- these scans.
- </para>
+ <title>Full table scan</title>
+
+ <para>
+ When no indexes exist for a lookup on a table, a full
+ table scan is performed. This is sent as a single request
+ to the <command>ndbd</command> process, which then divides
+ the table scan into a set of parallel scans on all cluster
+ <command>ndbd</command> processes. In future versions of
+ MySQL Cluster, an SQL node will be able to filter some of
+ these scans.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
@@ -19071,30 +19287,33 @@
<itemizedlist>
<listitem>
- <para>
- <emphasis role="bold">Push-Down Conditions</emphasis>:
- Consider the following query:
- </para>
+ <formalpara>
+ <title>Condition pushdown</title>
+
+ <para>
+ Consider the following query:
+
<programlisting>
SELECT * FROM t1 WHERE non_indexed_attribute = 1;
</programlisting>
- <para>
- This query will use a full table scan and the condition will
- be evaluated in the cluster's data nodes. Thus, it is not
- necessary to send the records across the network for
- evaluation. (That is, function transport is used, rather
- than data transport.) Please note that this feature is
- currently disabled by default (pending more thorough
- testing), but it should work in most cases. This feature can
- be enabled through the use of the <literal>SET
- engine_condition_pushdown = On</literal> statement.
- Alternatively, you can run <command>mysqld</command> with
- the this feature enabled by starting the MySQL server with
- the <option>--engine-condition-pushdown</option> option.
- </para>
+ This query uses a full table scan and the condition is
+ evaluated in the cluster's data nodes. Thus, it is not
+ necessary to send the records across the network for
+ evaluation. (That is, function transport is used, rather
+ than data transport.) Please note that this feature is
+ currently disabled by default (pending more thorough
+ testing), but it should work in most cases. This feature
+ can be enabled through the use of the <literal>SET
+ engine_condition_pushdown = On</literal> statement.
+ Alternatively, you can run <command>mysqld</command> with
+ the this feature enabled by starting the MySQL server with
+ the <option>--engine-condition-pushdown</option> option.
+ </para>
+ </formalpara>
+
<para>
A major benefit of this change is that queries can be
executed in parallel. This means that queries against
@@ -19133,23 +19352,26 @@
</listitem>
<listitem>
- <para>
- <emphasis role="bold">New Optimizations</emphasis>: One
- optimization that merits particular attention is that a
- batched read interface is now used in some queries. For
- example, consider the following query:
- </para>
+ <formalpara>
+ <title>New optimizations</title>
+
+ <para>
+ One optimization that merits particular attention is that
+ a batched read interface is now used in some queries. For
+ example, consider the following query:
+
<programlisting>
SELECT * FROM t1 WHERE <replaceable>primary_key</replaceable> IN
(1,2,3,4,5,6,7,8,9,10);
</programlisting>
- <para>
- This query will be executed 2 to 3 times more quickly than
- in previous MySQL Cluster versions due to the fact that all
- 10 key lookups are sent in a single batch rather than one at
- a time.
- </para>
+ This query will be executed 2 to 3 times more quickly than
+ in previous MySQL Cluster versions due to the fact that
+ all 10 key lookups are sent in a single batch rather than
+ one at a time.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
@@ -19211,32 +19433,42 @@
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Variable-sized records</emphasis>: A
- column defined as <literal>VARCHAR(255)</literal> currently
- uses 260 bytes of storage independent of what is stored in
- any particular record. In MySQL 5.1 Cluster tables, only the
- portion of the column actually taken up by the record will
- be stored. This will make possible a reduction in space
- requirements for such columns by a factor of 5 in many
- cases.
- </para>
+ <formalpara>
+
+ <title>Variable-sized records</title>
+
+ <para>
+ A column defined as <literal>VARCHAR(255)</literal>
+ currently uses 260 bytes of storage independent of what is
+ stored in any particular record. In MySQL 5.1 Cluster
+ tables, only the portion of the column actually taken up
+ by the record will be stored. This will make possible a
+ reduction in space requirements for such columns by a
+ factor of 5 in many cases.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">User-defined partitioning</emphasis>:
- Users will be able to define partitions based on columns
- that are part of the primary key. The MySQL Server will be
- able to discover whether it is possible to prune away some
- of the partitions from the <literal>WHERE</literal> clause.
- Partitioning based on <literal>KEY</literal>,
- <literal>HASH</literal>, <literal>RANGE</literal>,
and
- <literal>LIST</literal> handlers will be possible, as well
- as subpartitioning. This feature should also be available
- for many other handlers, and not only <literal>NDB
- Cluster</literal>.
- </para>
+ <formalpara>
+
+ <title>User-defined partitioning</title>
+
+ <para>
+ Users will be able to define partitions based on columns
+ that are part of the primary key. The MySQL Server will be
+ able to discover whether it is possible to prune away some
+ of the partitions from the <literal>WHERE</literal>
+ clause. Partitioning based on <literal>KEY</literal>,
+ <literal>HASH</literal>, <literal>RANGE</literal>,
and
+ <literal>LIST</literal> handlers will be possible, as well
+ as subpartitioning. This feature should also be available
+ for many other handlers, and not only <literal>NDB
+ Cluster</literal>.
+ </para>
+
+ </formalpara>
</listitem>
</orderedlist>
@@ -19283,202 +19515,231 @@
<itemizedlist>
<listitem>
- <para>
- <emphasis role="bold">Cluster</emphasis>:
- </para>
+ <formalpara>
- <para>
- In its generic sense, a cluster is a set of computers
- functioning as a unit and working together to accomplish a
- single task.
- </para>
+ <title>Cluster</title>
- <para>
- <emphasis role="bold"><literal>NDB
- Cluster</literal></emphasis>:
- </para>
+ <para>
+ In its generic sense, a cluster is a set of computers
+ functioning as a unit and working together to accomplish a
+ single task.
+ </para>
- <para>
- This is the storage engine used in MySQL to implement data
- storage, retrieval, and management distributed among several
- computers.
- </para>
+ </formalpara>
- <para>
- <emphasis role="bold">MySQL Cluster</emphasis>:
- </para>
+ <formalpara>
- <para>
- This refers to a group of computers working together using the
- <literal>NDB</literal> storage engine to support a distributed
- MySQL database in a <emphasis>shared-nothing
- architecture</emphasis> using <emphasis>in-memory
- storage</emphasis>.
- </para>
+ <title><literal>NDB Cluster</literal></title>
+
+ <para>
+ This is the storage engine used in MySQL to implement data
+ storage, retrieval, and management distributed among several
+ computers.
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>MySQL Cluster</title>
+
+ <para>
+ This refers to a group of computers working together using
+ the <literal>NDB</literal> storage engine to support a
+ distributed MySQL database in a <emphasis>shared-nothing
+ architecture</emphasis> using <emphasis>in-memory
+ storage</emphasis>.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Configuration files</emphasis>:
- </para>
+ <formalpara>
- <para>
- Text files containing directives and information regarding the
- cluster, its hosts, and its nodes. These are read by the
- cluster's management nodes when the cluster is started. See
- <xref linkend="mysql-cluster-config-file"/>, for details.
- </para>
+ <title>Configuration files</title>
+
+ <para>
+ Text files containing directives and information regarding
+ the cluster, its hosts, and its nodes. These are read by the
+ cluster's management nodes when the cluster is started. See
+ <xref linkend="mysql-cluster-config-file"/>, for details.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Backup</emphasis>:
- </para>
+ <formalpara>
- <para>
- A complete copy of all cluster data, transactions and logs,
- saved to disk or other long-term storage.
- </para>
+ <title>Backup</title>
+
+ <para>
+ A complete copy of all cluster data, transactions and logs,
+ saved to disk or other long-term storage.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Restore</emphasis>:
- </para>
+ <formalpara>
- <para>
- Returning the cluster to a previous state, as stored in a
- backup.
- </para>
+ <title>Restore</title>
+
+ <para>
+ Returning the cluster to a previous state, as stored in a
+ backup.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Checkpoint</emphasis>:
- </para>
+ <formalpara>
- <para>
- Generally speaking, when data is saved to disk, it is said
- that a checkpoint has been reached. More specific to Cluster,
- it is a point in time where all committed transactions are
- stored on disk. With regard to the <literal>NDB</literal>
- storage engine, there are two types of checkpoints which work
- together to ensure that a consistent view of the cluster's
- data is maintained:
- </para>
+ <title>Checkpoint</title>
+ <para>
+ Generally speaking, when data is saved to disk, it is said
+ that a checkpoint has been reached. More specific to
+ Cluster, it is a point in time where all committed
+ transactions are stored on disk. With regard to the
+ <literal>NDB</literal> storage engine, there are two types
+ of checkpoints which work together to ensure that a
+ consistent view of the cluster's data is maintained:
+ </para>
+
+ </formalpara>
+
<itemizedlist>
<listitem>
- <para>
- <emphasis role="bold">Local Checkpoint (LCP)</emphasis>:
- </para>
+ <formalpara>
- <para>
- This is a checkpoint that is specific to a single node;
- however, LCP's take place for all nodes in the cluster
- more or less concurrently. An LCP involves saving all of a
- node's data to disk, and so usually occurs every few
- minutes. The precise interval varies, and depends upon the
- amount of data stored by the node, the level of cluster
- activity, and other factors.
- </para>
+ <title>Local Checkpoint (LCP)</title>
+
+ <para>
+ This is a checkpoint that is specific to a single node;
+ however, LCP's take place for all nodes in the cluster
+ more or less concurrently. An LCP involves saving all of
+ a node's data to disk, and so usually occurs every few
+ minutes. The precise interval varies, and depends upon
+ the amount of data stored by the node, the level of
+ cluster activity, and other factors.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Global Checkpoint (GCP)</emphasis>:
- </para>
+ <formalpara>
- <para>
- A GCP occurs every few seconds, when transactions for all
- nodes are synchronized and the redo-log is flushed to
- disk.
- </para>
+ <title>Global Checkpoint (GCP)</title>
+
+ <para>
+ A GCP occurs every few seconds, when transactions for
+ all nodes are synchronized and the redo-log is flushed
+ to disk.
+ </para>
+
+ </formalpara>
</listitem>
</itemizedlist>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Cluster host</emphasis>:
- </para>
+ <formalpara>
- <para>
- A computer making up part of a MySQL Cluster. A cluster has
- both a <emphasis>physical</emphasis> structure and a
- <emphasis>logical</emphasis> structure. Physically, the
- cluster consists of a number of computers, known as
- <firstterm>cluster hosts</firstterm> (or more simply as
- <firstterm>hosts</firstterm>. See also
- <emphasis role="bold">Node</emphasis> and
- <emphasis role="bold">Node group</emphasis> below.
- </para>
+ <title>Cluster host</title>
+
+ <para>
+ A computer making up part of a MySQL Cluster. A cluster has
+ both a <emphasis>physical</emphasis> structure and a
+ <emphasis>logical</emphasis> structure. Physically, the
+ cluster consists of a number of computers, known as
+ <firstterm>cluster hosts</firstterm> (or more simply as
+ <firstterm>hosts</firstterm>. See also
+ <emphasis role="bold">Node</emphasis> and
+ <emphasis role="bold">Node group</emphasis> below.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Node</emphasis>:
- </para>
+ <formalpara>
- <para>
- This refers to a logical or functional unit of MySQL Cluster,
- and is sometimes also referred to as a <firstterm>cluster
- node</firstterm>. In the context of MySQL Cluster, we use the
- term <quote>node</quote> to indicate a
- <emphasis>process</emphasis> rather than a physical component
- of the cluster. There are three node types required to
- implement a working MySQL Cluster:
- </para>
+ <title>Node</title>
+ <para>
+ This refers to a logical or functional unit of MySQL
+ Cluster, and is sometimes also referred to as a
+ <firstterm>cluster node</firstterm>. In the context of MySQL
+ Cluster, we use the term <quote>node</quote> to indicate a
+ <emphasis>process</emphasis> rather than a physical
+ component of the cluster. There are three node types
+ required to implement a working MySQL Cluster:
+ </para>
+
+ </formalpara>
+
<itemizedlist>
<listitem>
- <para>
- <emphasis role="bold">Management (MGM) nodes</emphasis>:
- </para>
+ <formalpara>
- <para>
- Manages the other nodes within the MySQL Cluster. It
- provides configuration data to the other nodes; starts and
- stops nodes; handles network partitioning; creates backups
- and restores from them, and so forth.
- </para>
+ <title>Management nodes</title>
+
+ <para>
+ Manages the other nodes within the MySQL Cluster. It
+ provides configuration data to the other nodes; starts
+ and stops nodes; handles network partitioning; creates
+ backups and restores from them, and so forth.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">SQL (MySQL server) nodes</emphasis>:
- </para>
+ <formalpara>
- <para>
- Instances of MySQL Server which serve as front ends to
- data kept in the cluster's <emphasis role="bold">data
- nodes</emphasis>. Clients desiring to store, retrieve, or
- update data can access an SQL node just as they would any
- other MySQL Server, employing the usual authentication
- methods and API's; the underlying distribution of data
- between node groups is transparent to users and
- applications. SQL nodes access the cluster's databases as
- a whole without regard to the data's distribution across
- different data nodes or cluster hosts.
- </para>
+ <title>SQL nodes</title>
+
+ <para>
+ Instances of MySQL Server which serve as front ends to
+ data kept in the cluster's <emphasis role="bold">data
+ nodes</emphasis>. Clients desiring to store, retrieve,
+ or update data can access an SQL node just as they would
+ any other MySQL Server, employing the usual MySQL
+ authentication methods and APIs; the underlying
+ distribution of data between node groups is transparent
+ to users and applications. SQL nodes access the
+ cluster's databases as a whole without regard to the
+ data's distribution across different data nodes or
+ cluster hosts.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Data nodes</emphasis>:
- </para>
+ <formalpara>
- <para>
- These nodes store the actual data. Table data fragments
- are stored in a set of node groups; each node group stores
- a different subset of the table data. Each of the nodes
- making up a node group stores a replica of the fragment
- for which that node group is responsible. Currently, a
- single cluster can support up to 48 data nodes total.
- </para>
+ <title>Data nodes</title>
+
+ <para>
+ These nodes store the actual data. Table data fragments
+ are stored in a set of node groups; each node group
+ stores a different subset of the table data. Each of the
+ nodes making up a node group stores a replica of the
+ fragment for which that node group is responsible.
+ Currently, a single cluster can support up to 48 data
+ nodes total.
+ </para>
+
+ </formalpara>
</listitem>
</itemizedlist>
@@ -19495,32 +19756,39 @@
(that is, a process).
</para>
- <para>
- <emphasis role="bold">Note Regarding Terms</emphasis>: In
- older versions of the MySQL Cluster documentation, data nodes
- were sometimes referred to as <quote>database nodes</quote>.
- The term <quote>storage nodes</quote> has also been used. In
- addition, SQL nodes were sometimes known as <quote>client
- nodes</quote>. This older terminology has been deprecated to
- minimize confusion, and for this reason should be avoided.
- They are also often referred to as <quote>API nodes</quote>
- — an SQL node is actually an API node that provides an
- SQL interface to the cluster.
- </para>
+ <formalpara>
+
+ <title>Note Regarding Terms</title>
+
+ <para>
+ In volder versions of the MySQL Cluster documentation, data
+ nodes were sometimes referred to as <quote>database
+ nodes</quote>. The term <quote>storage nodes</quote> has
+ also been used. In addition, SQL nodes were sometimes known
+ as <quote>client nodes</quote>. This older terminology has
+ been deprecated to minimize confusion, and for this reason
+ should be avoided. They are also often referred to as
+ <quote>API nodes</quote> — an SQL node is actually an
+ API node that provides an SQL interface to the cluster.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Node group</emphasis>:
- </para>
+ <formalpara>
- <para>
- A set of data nodes. All data nodes in a node group contain
- the same data (fragments), and all nodes in a single group
- should reside on different hosts. It is possible to control
- which nodes belong to which node groups.
- </para>
+ <title>Node group</title>
+ <para>
+ A set of data nodes. All data nodes in a node group contain
+ the same data (fragments), and all nodes in a single group
+ should reside on different hosts. It is possible to control
+ which nodes belong to which node groups.
+ </para>
+
+ </formalpara>
+
<para>
For more information, see
<xref linkend="mysql-cluster-nodes-groups"/>.
@@ -19528,242 +19796,278 @@
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Node failure</emphasis>:
- </para>
+ <formalpara>
- <para>
- MySQL Cluster is not solely dependent upon the functioning of
- any single node making up the cluster; the cluster can
- continue to run if one or more nodes fail. The precise number
- of node failures that a given cluster can tolerate depends
- upon the number of nodes and the cluster's configuration.
- </para>
+ <title>Node failure</title>
+
+ <para>
+ MySQL Cluster is not solely dependent upon the functioning
+ of any single node making up the cluster; the cluster can
+ continue to run if one or more nodes fail. The precise
+ number of node failures that a given cluster can tolerate
+ depends upon the number of nodes and the cluster's
+ configuration.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Node restart</emphasis>:
- </para>
+ <formalpara>
- <para>
- The process of restarting a failed cluster node.
- </para>
+ <title>Node restart</title>
+
+ <para>
+ The process of restarting a failed cluster node.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Initial node restart</emphasis>:
- </para>
+ <formalpara>
- <para>
- The process of starting a cluster node with its filesystem
- removed. This is sometimes used in the course of software
- upgrades and in other special circumstances.
- </para>
+ <title>Initial node restart</title>
+
+ <para>
+ The process of starting a cluster node with its filesystem
+ removed. This is sometimes used in the course of software
+ upgrades and in other special circumstances.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">System crash</emphasis> (or
- <emphasis role="bold">system failure</emphasis>):
- </para>
+ <formalpara>
- <para>
- This can occur when so many cluster nodes have failed that the
- cluster's state can no longer be guaranteed.
- </para>
+ <title>System crash (or system failure)</title>
+
+ <para>
+ This can occur when so many cluster nodes have failed that
+ the cluster's state can no longer be guaranteed.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">System restart</emphasis>:
- </para>
+ <formalpara>
- <para>
- The process of restarting the cluster and reinitializing its
- state from disk logs and checkpoints. This is required after
- either a planned or an unplanned shutdown of the cluster.
- </para>
+ <title>System restart</title>
+
+ <para>
+ The process of restarting the cluster and reinitializing its
+ state from disk logs and checkpoints. This is required after
+ either a planned or an unplanned shutdown of the cluster.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Fragment</emphasis>:
- </para>
+ <formalpara>
- <para>
- A portion of a database table; in the <literal>NDB</literal>
- storage engine, a table is broken up into and stored as a
- number of fragments. A fragment is sometimes also called a
- <quote>partition</quote>; however,
<quote>fragment</quote> is
- the preferred term. Tables are fragmented in MySQL Cluster in
- order to facilitate load balancing between machines and nodes.
- </para>
+ <title>Fragment</title>
+
+ <para>
+ A portion of a database table; in the <literal>NDB</literal>
+ storage engine, a table is broken up into and stored as a
+ number of fragments. A fragment is sometimes also called a
+ <quote>partition</quote>; however,
<quote>fragment</quote>
+ is the preferred term. Tables are fragmented in MySQL
+ Cluster in order to facilitate load balancing between
+ machines and nodes.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Replica</emphasis>:
- </para>
+ <formalpara>
- <para>
- Under the <literal>NDB</literal> storage engine, each table
- fragment has number of replicas stored on other data nodes in
- order to provide redundancy. Currently, there may be up four
- replicas per fragment.
- </para>
+ <title>Replica</title>
+
+ <para>
+ Under the <literal>NDB</literal> storage engine, each table
+ fragment has number of replicas stored on other data nodes
+ in order to provide redundancy. Currently, there may be up
+ four replicas per fragment.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Transporter</emphasis>:
- </para>
+ <formalpara>
- <para>
- A protocol providing data transfer between nodes. MySQL
- Cluster currently supports four different types of transporter
- connections:
- </para>
+ <title>Transporter</title>
+ <para>
+ A protocol providing data transfer between nodes. MySQL
+ Cluster currently supports four different types of
+ transporter connections:
+ </para>
+
+ </formalpara>
+
<itemizedlist>
<listitem>
- <para>
- TCP/IP
- </para>
+ <formalpara>
- <para>
- This is, of course, the familiar network protocol that
- underlies HTTP, FTP (and so on) on the Internet. TCP/IP
- can be used for both local and remote connections.
- </para>
+ <title>TCP/IP</title>
+
+ <para>
+ This is, of course, the familiar network protocol that
+ underlies HTTP, FTP (and so on) on the Internet. TCP/IP
+ can be used for both local and remote connections.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- SCI
- </para>
+ <formalpara>
- <para>
- <emphasis role="bold">S</emphasis>calable
- <emphasis role="bold">C</emphasis>oherent
- <emphasis role="bold">I</emphasis>nterface is a high-speed
- protocol used in building multiprocessor systems and
- parallel-processing applications. Use of SCI with MySQL
- Cluster requires specialized hardware, as discussed in
- <xref linkend="mysql-cluster-sci-sockets"/>. For a basic
- introduction to SCI, see
- <ulink url="http://www.dolphinics.com/corporate/scitech.html">this
- essay at dolphinics.com</ulink>.
- </para>
+ <title>SCI</title>
+
+ <para>
+ <emphasis role="bold">S</emphasis>calable
+ <emphasis role="bold">C</emphasis>oherent
+ <emphasis role="bold">I</emphasis>nterface is a
+ high-speed protocol used in building multiprocessor
+ systems and parallel-processing applications. Use of SCI
+ with MySQL Cluster requires specialized hardware, as
+ discussed in
+ <xref linkend="mysql-cluster-sci-sockets"/>. For a basic
+ introduction to SCI, see
+ <ulink url="http://www.dolphinics.com/corporate/scitech.html">this
+ essay at dolphinics.com</ulink>.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- SHM
- </para>
+ <formalpara>
- <para>
- Unix-style <emphasis role="bold">sh</emphasis>ared
- <emphasis role="bold">m</emphasis>emory segments. Where
- supported, SHM is used automatically to connect nodes
- running on the same host. The
- <ulink url="http://www.scit.wlv.ac.uk/cgi-bin/mansec?2+shmop">Unix
- man page for <literal>shmop(2)</literal></ulink> is a
good
- place to begin obtaining additional information about this
- topic.
- </para>
+ <title>SHM</title>
+
+ <para>
+ Unix-style <emphasis role="bold">sh</emphasis>ared
+ <emphasis role="bold">m</emphasis>emory segments. Where
+ supported, SHM is used automatically to connect nodes
+ running on the same host. The
+ <ulink url="http://www.scit.wlv.ac.uk/cgi-bin/mansec?2+shmop">Unix
+ man page for <literal>shmop(2)</literal></ulink> is a
+ good place to begin obtaining additional information
+ about this topic.
+ </para>
+
+ </formalpara>
</listitem>
</itemizedlist>
- <para>
- <emphasis role="bold">Note</emphasis>: The cluster transporter
- is internal to the cluster. Applications using MySQL Cluster
- communicate with SQL nodes just as they do with any other
- version of MySQL Server (via TCP/IP, or through the use of
- Unix socket files or Windows named pipes). Queries can be sent
- and results retrieved using the standard MySQL client APIs.
- </para>
+ <note>
+ <para>
+ The cluster transporter is internal to the cluster.
+ Applications using MySQL Cluster communicate with SQL nodes
+ just as they do with any other version of MySQL Server (via
+ TCP/IP, or through the use of Unix socket files or Windows
+ named pipes). Queries can be sent and results retrieved
+ using the standard MySQL client APIs.
+ </para>
+ </note>
</listitem>
<listitem>
- <para>
- <emphasis
role="bold"><literal>NDB</literal></emphasis>:
- </para>
+ <formalpara>
- <para>
- This stands for <emphasis role="bold">N</emphasis>etwork
- <emphasis role="bold">D</emphasis>ata<emphasis
role="bold">b</emphasis>ase,
- and refers to the storage engine used to enable MySQL Cluster.
- The <literal>NDB</literal> storage engine supports all the
- usual MySQL data types and SQL statements, and is
- ACID-compliant. This engine also provides full support for
- transactions (commits and rollbacks).
- </para>
+ <title><literal>NDB</literal></title>
+
+ <para>
+ This stands for <emphasis role="bold">N</emphasis>etwork
+ <emphasis role="bold">D</emphasis>ata<emphasis
role="bold">b</emphasis>ase,
+ and refers to the storage engine used to enable MySQL
+ Cluster. The <literal>NDB</literal> storage engine supports
+ all the usual MySQL data types and SQL statements, and is
+ ACID-compliant. This engine also provides full support for
+ transactions (commits and rollbacks).
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">shared-nothing architecture</emphasis>:
- </para>
+ <formalpara>
- <para>
- The ideal architecture for a MySQL Cluster. In a true
- shared-nothing setup, each node runs on a separate host. The
- advantage such an arrangement is that there no single host or
- node can act as single point of failure or as a performance
- bottle neck for the system as a whole.
- </para>
+ <title>Shared-nothing architecture</title>
+
+ <para>
+ The ideal architecture for a MySQL Cluster. In a true
+ shared-nothing setup, each node runs on a separate host. The
+ advantage such an arrangement is that there no single host
+ or node can act as single point of failure or as a
+ performance bottle neck for the system as a whole.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">In-memory storage</emphasis>:
- </para>
+ <formalpara>
- <para>
- All data stored in each data node is kept in memory on the
- node's host computer. For each data node in the cluster, you
- must have available an amount of RAM equal to the size of the
- database times the number of replicas, divided by the number
- of data nodes. Thus, if the database takes up 1GB of memory,
- and you want to set up the cluster with four replicas and
- eight data nodes, a minimum of 500MB memory will be required
- per node. Note that this is in addition to any requirements
- for the operating system and any other applications that might
- be running on the host.
- </para>
+ <title>In-memory storage</title>
+
+ <para>
+ All data stored in each data node is kept in memory on the
+ node's host computer. For each data node in the cluster, you
+ must have available an amount of RAM equal to the size of
+ the database times the number of replicas, divided by the
+ number of data nodes. Thus, if the database takes up 1GB of
+ memory, and you want to set up the cluster with four
+ replicas and eight data nodes, a minimum of 500MB memory
+ will be required per node. Note that this is in addition to
+ any requirements for the operating system and any other
+ applications that might be running on the host.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Table</emphasis>:
- </para>
+ <formalpara>
- <para>
- As is usual in the context of a relational database, the term
- <quote>table</quote> denotes a set of identically structured
- records. In MySQL Cluster, a database table is stored in a
- data node as a set of fragments, each of which is replicated
- on additional data nodes. The set of data nodes replicating
- the same fragment or set of fragments is referred to as a
- <emphasis>node group</emphasis>.
- </para>
+ <title>Table</title>
+
+ <para>
+ As is usual in the context of a relational database, the
+ term <quote>table</quote> denotes a set of identically
+ structured records. In MySQL Cluster, a database table is
+ stored in a data node as a set of fragments, each of which
+ is replicated on additional data nodes. The set of data
+ nodes replicating the same fragment or set of fragments is
+ referred to as a <emphasis>node group</emphasis>.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Cluster programs</emphasis>:
- </para>
+ <formalpara>
- <para>
- These are command-line programs used in running, configuring,
- and administering MySQL Cluster. They include both server
- daemons:
- </para>
+ <title>Cluster programs</title>
+ <para>
+ These are command-line programs used in running,
+ configuring, and administering MySQL Cluster. They include
+ both server daemons:
+ </para>
+
+ </formalpara>
+
<itemizedlist>
<listitem>
@@ -19835,40 +20139,46 @@
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Event log</emphasis>:
- </para>
+ <formalpara>
- <para>
- MySQL Cluster logs events by category (startup, shutdown,
- errors, checkpoints, and so on), priority, and severity. A
- complete listing of all reportable events may be found in
- <xref linkend="mysql-cluster-event-reports"/>. Event logs are
- of two types:
- </para>
+ <title>Event log</title>
+ <para>
+ MySQL Cluster logs events by category (startup, shutdown,
+ errors, checkpoints, and so on), priority, and severity. A
+ complete listing of all reportable events may be found in
+ <xref linkend="mysql-cluster-event-reports"/>. Event logs
+ are of two types:
+ </para>
+
+ </formalpara>
+
<itemizedlist>
<listitem>
- <para>
- <emphasis role="bold">Cluster log</emphasis>:
- </para>
+ <formalpara>
- <para>
- Keeps a record of all desired reportable events for the
- cluster as a whole.
- </para>
+ <title>Cluster log</title>
+
+ <para>
+ Keeps a record of all desired reportable events for the
+ cluster as a whole.
+ </para>
+
+ </formalpara>
</listitem>
<listitem>
- <para>
- <emphasis role="bold">Node log</emphasis>:
- </para>
+ <formalpara>
- <para>
- A separate log which is also kept for each individual
- node.
- </para>
+ <title>Node log</title>
+
+ <para>
+ A separate log which is also kept for each individual
+ node.
+ </para>
+
+ </formalpara>
</listitem>
</itemizedlist>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r7599 - in trunk: refman-4.1 refman-5.0 | jon | 30 Aug |