Author: paul
Date: 2006-02-01 19:44:17 +0100 (Wed, 01 Feb 2006)
New Revision: 1170
Log:
r2768@kite-hub: paul | 2006-02-01 12:05:44 -0600
General revisions.
Modified:
trunk/
trunk/refman-4.1/ndbcluster.xml
trunk/refman-5.0/ndbcluster.xml
trunk/refman-5.1/ndbcluster.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:7026
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:2767
+ b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:7026
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:2768
Modified: trunk/refman-4.1/ndbcluster.xml
===================================================================
--- trunk/refman-4.1/ndbcluster.xml 2006-02-01 18:44:04 UTC (rev 1169)
+++ trunk/refman-4.1/ndbcluster.xml 2006-02-01 18:44:17 UTC (rev 1170)
@@ -1331,6 +1331,11 @@
<title>&title-multi-load-data-queries;</title>
+ <remark role="todo">
+ Look into changing this section to use new sample DB once MikeH
+ has it ready.
+ </remark>
+
<para>
Working with data in MySQL Cluster is not much different than
doing so in MySQL without Cluster. There are two points to keep
@@ -1339,50 +1344,66 @@
<itemizedlist>
- <remark role="todo">
- Look into changing this example to use new sample DB once
- MikeH has it ready.
- </remark>
+ <listitem>
+ <para>
+ For a table to be replicated in the cluster, it must be
+ created with the <option>ENGINE=NDB</option> or
+ <option>ENGINE=NDBCLUSTER</option> table option, or else it
+ must be altered after being created (using <literal>ALTER
+ TABLE</literal>) to use the <literal>NDB Cluster</literal>
+ storage engine.
+ </para>
+ </listitem>
<listitem>
<para>
- Tables must be created with the <option>ENGINE=NDB</option>
- or <option>ENGINE=NDBCLUSTER</option> option, or be altered
- (using <literal>ALTER TABLE</literal>) to use the NDB
- CLuster storage engine to have them replicated in the
- cluster. If you are importing tables from an existing
- database using the output of <command>mysqldump</command>,
- you can open the SQL script or scripts in a text editor and
- add this option to any table creation statements, or replace
- any existing <literal>ENGINE</literal> (or
- <literal>TYPE</literal>) option with one of these. Suppose
- that you have the sample <literal>world</literal> database
- on another MySQL server (that does not support MySQL
- Cluster), and you want to export the definition for the
- <literal>City</literal> table:
+ Also remember that <emphasis>each <literal>NDB</literal>
+ table must have a primary key</emphasis>. If no primary key
+ is defined by the user when a table is created, the
+ <literal>NDB Cluster</literal> storage engine will
+ automatically generate 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 keys.)
</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ If you are importing tables from an existing database using the
+ output of <command>mysqldump</command>, you can open the SQL
+ script or scripts in a text editor and add the
+ <literal>ENGINE</literal> option to any table creation
+ statements, or replace any existing <literal>ENGINE</literal>
+ (or <literal>TYPE</literal>) option. Suppose that you have the
+ <literal>world</literal> sample database on another MySQL server
+ that does not support MySQL Cluster, and you want to export the
+ <literal>City</literal> table:
+ </para>
+
<programlisting>
shell> <userinput>mysqldump --add-drop-table world City > city_table.sql</userinput>
</programlisting>
- <para>
- The resulting <filename>city_table.sql</filename> file will
- contain this table creation statement (and the
- <literal>INSERT</literal> statements necessary to import the
- table data):
- </para>
+ <para>
+ The resulting <filename>city_table.sql</filename> file will
+ contain this table creation statement (and the
+ <literal>INSERT</literal> statements necessary to import the
+ table data):
+ </para>
<programlisting>
-DROP TABLE IF EXISTS City;
-CREATE TABLE City (
-ID int(11) NOT NULL auto_increment,
-Name char(35) NOT NULL default '',
-CountryCode char(3) NOT NULL default '',
-District char(20) NOT NULL default '',
-Population int(11) NOT NULL default '0',
-PRIMARY KEY (ID)
-) ENGINE=MyISAM;
+DROP TABLE IF EXISTS `City`;
+CREATE TABLE `City` (
+ `ID` int(11) NOT NULL auto_increment,
+ `Name` char(35) NOT NULL default '',
+ `CountryCode` char(3) NOT NULL default '',
+ `District` char(20) NOT NULL default '',
+ `Population` int(11) NOT NULL default '0',
+ PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO City VALUES (1,'Kabul','AFG','Kabol',1780000);
INSERT INTO City VALUES (2,'Qandahar','AFG','Qandahar',237500);
@@ -1390,14 +1411,14 @@
# (remaining INSERT statements omitted)
</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, <emphasis>before</emphasis>
- importing the table into the Cluster database, to modify its
- definition so that it reads (still using
- <literal>City</literal> as an example):
- </para>
+ <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, <emphasis>before</emphasis>
+ importing the table into the Cluster database, to modify its
+ definition so that it reads (still using <literal>City</literal>
+ as an example):
+ </para>
<programlisting>
DROP TABLE IF EXISTS City;
@@ -1416,76 +1437,75 @@
# (etc.)
</programlisting>
- <para>
- This will need to be done for the definition of each table
- that is to be part of the clustered database. The easiest
- way to accomplish this is to do a search-and-replace on the
- <filename>world.sql</filename> file and replace all
- instances of <literal>TYPE=MyISAM</literal> or
- <literal>ENGINE=MyISAM</literal> with
- <literal>ENGINE=NDBCLUSTER</literal>. If you do not want to
- modify the file, you can also use <literal>ALTER
- TABLE</literal> to change their type. The particulars are
- given later in this section.
- </para>
+ <para>
+ This will need to be done for the definition of each table that
+ is to be part of the clustered database. The easiest way to
+ accomplish this is to do a search-and-replace on the
+ <filename>world.sql</filename> file and replace all instances of
+ <literal>TYPE=MyISAM</literal> or
+ <literal>ENGINE=MyISAM</literal> with
+ <literal>ENGINE=NDBCLUSTER</literal>. If you do not want to
+ modify the file, you can also use <literal>ALTER TABLE</literal>
+ to change their type. The particulars are given later in this
+ section.
+ </para>
- <para>
- Assuming that you have already created a database named
- <literal>world</literal> on the SQL node of the cluster, you
- can then use the <command>mysql</command> command-line
- client to read <filename>city_table.sql</filename>, and
- create and populate the corresponding table in the usual
- manner:
- </para>
+ <para>
+ Assuming that you have already created a database named
+ <literal>world</literal> on the SQL node of the cluster, you can
+ then use the <command>mysql</command> command-line client to
+ read <filename>city_table.sql</filename>, and create and
+ populate the corresponding table in the usual manner:
+ </para>
<programlisting>
shell> <userinput>mysql world < city_table.sql</userinput>
</programlisting>
- <para>
- It is very important to keep in mind that the preceding
- command must be executed on the host where the SQL node is
- running -- in this case, on the machine with the IP address
- <literal>192.168.0.20</literal>.
- </para>
+ <para>
+ It is very important to keep in mind that the preceding command
+ must be executed on the host where the SQL node is running -- in
+ this case, on the machine with the IP address
+ <literal>192.168.0.20</literal>.
+ </para>
- <para>
- To create a copy of the <literal>world</literal> database on
- the SQL node, save the file to
- <filename>/usr/local/mysql/data</filename>, and then run
- </para>
+ <para>
+ To create a copy of the <literal>world</literal> database on the
+ SQL node, save the file to
+ <filename>/usr/local/mysql/data</filename>, and then run
+ </para>
<programlisting>
shell> <userinput>cd /usr/local/mysql/data</userinput>
shell> <userinput>mysql world < world.sql</userinput>
</programlisting>
- <para>
- Of course, the SQL script must be readable by the
- <literal>mysql</literal> system user. If you save the file
- to a different location, adjust the preceding instructions
- accordingly.
- </para>
+ <para>
+ Of course, the SQL script must be readable by the
+ <literal>mysql</literal> system user. If you save the file to a
+ different location, adjust the preceding instructions
+ accordingly.
+ </para>
- <para>
- It is important to note that <literal>NDB Cluster</literal>
- in MySQL ¤t-series; does not support autodiscovery of
- databases. (See
- <xref linkend="mysql-cluster-limitations-in-4-1"/>.) This
- means that, once the <literal>world</literal> database and
- its tables have been created on one data node, you need to
- issue the statement <literal>CREATE DATABASE world</literal>
- followed by <literal>FLUSH TABLES</literal> on each SQL node
- in the cluster. This will cause the node to recognize the
- database and read its table definitions.
- </para>
+ <para>
+ It is important to note that <literal>NDB Cluster</literal> in
+ MySQL ¤t-series; does not support autodiscovery of
+ databases. (See
+ <xref linkend="mysql-cluster-limitations-in-4-1"/>.) This means
+ that, once the <literal>world</literal> database and its tables
+ have been created on one data node, you need to issue the
+ statement <literal>CREATE DATABASE world</literal> followed by
+ <literal>FLUSH TABLES</literal> on each SQL node in the cluster.
+ This will cause the node to recognize the database and read its
+ table definitions.
+ </para>
- <para>
- Running <literal>SELECT</literal> queries on the SQL node is
- no different than running them on any other instance of a
- MySQL server. To run queries from the command line, you
- first need to log in to the MySQL Monitor in the usual way:
- </para>
+ <para>
+ Running <literal>SELECT</literal> queries on the SQL node is no
+ different than running them on any other instance of a MySQL
+ server. To run queries from the command line, you first need to
+ log in to the MySQL Monitor in the usual way:
+ </para>
<programlisting>
shell> <userinput>mysql -u root -p</userinput>
@@ -1495,15 +1515,36 @@
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
-mysql><userinput/>
+mysql>
</programlisting>
- <para>
- If you did not modify the <literal>ENGINE=</literal> clauses
- in the table definitions prior to importing the SQL script,
- you should run the following statements at this point:
- </para>
+ <para>
+ Specify the <literal>root</literal> password at the
+ <literal>Enter password:</literal> prompt.
+ </para>
+ <para>
+ We simply use the MySQL server's <literal>root</literal> account
+ and assume that you have followed the standard security
+ precautions for installing a MySQL server, including setting a
+ strong <literal>root</literal> password. For more information,
+ see <xref linkend="default-privileges"/>.
+ </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.
+ </para>
+
+ <para>
+ If you did not modify the <literal>ENGINE</literal> clauses in
+ the table definitions prior to importing the SQL script, you
+ should run the following statements at this point:
+ </para>
+
<programlisting>
mysql> <userinput>USE world;</userinput>
mysql> <userinput>ALTER TABLE City ENGINE=NDBCLUSTER;</userinput>
@@ -1511,34 +1552,12 @@
mysql> <userinput>ALTER TABLE CountryLanguage ENGINE=NDBCLUSTER;</userinput>
</programlisting>
- <para>
- Note that we simply use the MySQL server's default
- <literal>root</literal> account with its empty password
- here. Of course, in a production setting, you should
- <emphasis>always</emphasis> follow the standard security
- precautions for installing a MySQL server, including the
- setting of a strong <literal>root</literal> password and
- creation of a user account with only those privileges
- required to accomplish the tasks necessary for that user.
- For more information about these, see
- <xref linkend="privilege-system"/>.
- </para>
+ <para>
+ Selecting a database and running a <command>SELECT</command>
+ query against a table in that database is also accomplished in
+ the usual manner, as is exiting the MySQL Monitor:
+ </para>
- <para>
- It is worth taking into account that Cluster nodes do not
- make use of the MySQL privileges system when accessing one
- another, and setting or changing MySQL user accounts
- (including the <literal>root</literal> account) has no
- effect on interaction between nodes, only on applications
- accessing the SQL node.
- </para>
-
- <para>
- Selecting a database and running a <command>SELECT</command>
- query against a table in that database is also accomplished
- in the usual manner, as is exiting the MySQL Monitor:
- </para>
-
<programlisting>
mysql> <userinput>USE world;</userinput>
mysql> <userinput>SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5;</userinput>
@@ -1556,17 +1575,18 @@
mysql> <userinput>\q</userinput>
Bye
-shell><userinput/>
+shell>
</programlisting>
- <para>
- Applications using MySQL can use standard APIs. It is
- important to remember that your application must access the
- SQL node, and not the MGM or storage nodes. This brief
- example shows how we might execute the same query shown
- earlier using PHP 5's <literal>mysqli</literal> extension
- running on a Web server elsewhere on the network:
- </para>
+ <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 storage 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:
+ </para>
<programlisting>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
@@ -1626,35 +1646,18 @@
</html>
</programlisting>
- <para>
- We assume that the process running on the Web server can
- reach the IP address of the SQL node.
- </para>
+ <para>
+ We assume that the process running on the Web server can reach
+ the IP address of the SQL node.
+ </para>
- <para>
- In a similar fashion, you can use the MySQL C API, Perl-DBI,
- Python-mysql, or MySQL AB's own Connectors to perform the
- tasks of data definition and manipulation just as you would
- normally with MySQL.
- </para>
- </listitem>
+ <para>
+ In a similar fashion, you can use the MySQL C API, Perl-DBI,
+ Python-mysql, or MySQL AB's own Connectors to perform the tasks
+ of data definition and manipulation just as you would normally
+ with MySQL.
+ </para>
- <listitem>
- <para>
- Also remember that <emphasis>each <literal>NDB</literal>
- table must have a primary key</emphasis>. If no primary key
- is defined by the user when a table is created, the
- <literal>NDB Cluster</literal> storage engine will
- automatically generate 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 keys.)
- </para>
- </listitem>
-
- </itemizedlist>
-
</section>
<section id="multi-shutdown-restart">
@@ -2289,9 +2292,18 @@
</programlisting>
<para>
- There are six different sections in this configuration file:
+ Note that each node has its own section in the
+ <filename>config.ini</filename>. For instance, this cluster
+ has two data nodes, so the preceding configuration file
+ contains two <literal>[NDBD]</literal> sections defining these
+ nodes.
</para>
+ <para>
+ There are six different sections in that you can use in the
+ <filename>config.ini</filename> configuration file:
+ </para>
+
<itemizedlist>
<listitem>
@@ -2343,16 +2355,11 @@
</itemizedlist>
<para>
- Note that each node has its own section in the
- <filename>config.ini</filename>. For instance, this cluster
- has two data nodes, so the configuration file contains two
- sections defining these nodes.
- </para>
-
- <para>
You can define <literal>DEFAULT</literal> values for each
section. As of MySQL 4.1.5, all parameter names are
- case-insensitive.
+ case-insensitive, which differs from parameters specified in
+ <filename>my.cnf</filename> or <filename>my.ini</filename>
+ files.
</para>
</section>
@@ -2363,18 +2370,19 @@
<para>
With the exception of the MySQL Cluster management server
- (<command>ndb_mgmd</command>), each node making up a MySQL
- Cluster requires a <firstterm>connectstring</firstterm> which
- points to the management server's location. This is used in
- establishing a connection to the management server as well as
- in performing other tasks depending on the node's role in the
- cluster. The syntax for a connectstring is as follows:
+ (<command>ndb_mgmd</command>), each node that is part of a
+ MySQL Cluster requires a <firstterm>connectstring</firstterm>
+ that points to the management server's location. This
+ connectstring is used in establishing a connection to the
+ management server as well as in performing other tasks
+ depending on the node's role in the cluster. The syntax for a
+ connectstring is as follows:
</para>
<programlisting>
<connectstring> :=
[<nodeid-specification>,]<host-specification>[,<host-specification>]
-
+
<nodeid-specification> := <replaceable>node_id</replaceable>
<host-specification> := <replaceable>host_name</replaceable>[:<replaceable>port_num</replaceable>]
Modified: trunk/refman-5.0/ndbcluster.xml
===================================================================
--- trunk/refman-5.0/ndbcluster.xml 2006-02-01 18:44:04 UTC (rev 1169)
+++ trunk/refman-5.0/ndbcluster.xml 2006-02-01 18:44:17 UTC (rev 1170)
@@ -1331,6 +1331,11 @@
<title>&title-multi-load-data-queries;</title>
+ <remark role="todo">
+ Look into changing this section to use new sample DB once MikeH
+ has it ready.
+ </remark>
+
<para>
Working with data in MySQL Cluster is not much different than
doing so in MySQL without Cluster. There are two points to keep
@@ -1339,50 +1344,66 @@
<itemizedlist>
- <remark role="todo">
- Look into changing this example to use new sample DB once
- MikeH has it ready.
- </remark>
+ <listitem>
+ <para>
+ For a table to be replicated in the cluster, it must be
+ created with the <option>ENGINE=NDB</option> or
+ <option>ENGINE=NDBCLUSTER</option> table option, or else it
+ must be altered after being created (using <literal>ALTER
+ TABLE</literal>) to use the <literal>NDB Cluster</literal>
+ storage engine.
+ </para>
+ </listitem>
<listitem>
<para>
- Tables must be created with the <option>ENGINE=NDB</option>
- or <option>ENGINE=NDBCLUSTER</option> option, or be altered
- (using <literal>ALTER TABLE</literal>) to use the NDB
- CLuster storage engine to have them replicated in the
- cluster. If you are importing tables from an existing
- database using the output of <command>mysqldump</command>,
- you can open the SQL script or scripts in a text editor and
- add this option to any table creation statements, or replace
- any existing <literal>ENGINE</literal> (or
- <literal>TYPE</literal>) option with one of these. Suppose
- that you have the sample <literal>world</literal> database
- on another MySQL server (that does not support MySQL
- Cluster), and you want to export the definition for the
- <literal>City</literal> table:
+ Also remember that <emphasis>each <literal>NDB</literal>
+ table must have a primary key</emphasis>. If no primary key
+ is defined by the user when a table is created, the
+ <literal>NDB Cluster</literal> storage engine will
+ automatically generate 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 keys.)
</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ If you are importing tables from an existing database using the
+ output of <command>mysqldump</command>, you can open the SQL
+ script or scripts in a text editor and add the
+ <literal>ENGINE</literal> option to any table creation
+ statements, or replace any existing <literal>ENGINE</literal>
+ (or <literal>TYPE</literal>) option. Suppose that you have the
+ <literal>world</literal> sample database on another MySQL server
+ that does not support MySQL Cluster, and you want to export the
+ <literal>City</literal> table:
+ </para>
+
<programlisting>
shell> <userinput>mysqldump --add-drop-table world City > city_table.sql</userinput>
</programlisting>
- <para>
- The resulting <filename>city_table.sql</filename> file will
- contain this table creation statement (and the
- <literal>INSERT</literal> statements necessary to import the
- table data):
- </para>
+ <para>
+ The resulting <filename>city_table.sql</filename> file will
+ contain this table creation statement (and the
+ <literal>INSERT</literal> statements necessary to import the
+ table data):
+ </para>
<programlisting>
-DROP TABLE IF EXISTS City;
-CREATE TABLE City (
-ID int(11) NOT NULL auto_increment,
-Name char(35) NOT NULL default '',
-CountryCode char(3) NOT NULL default '',
-District char(20) NOT NULL default '',
-Population int(11) NOT NULL default '0',
-PRIMARY KEY (ID)
-) ENGINE=MyISAM;
+DROP TABLE IF EXISTS `City`;
+CREATE TABLE `City` (
+ `ID` int(11) NOT NULL auto_increment,
+ `Name` char(35) NOT NULL default '',
+ `CountryCode` char(3) NOT NULL default '',
+ `District` char(20) NOT NULL default '',
+ `Population` int(11) NOT NULL default '0',
+ PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO City VALUES (1,'Kabul','AFG','Kabol',1780000);
INSERT INTO City VALUES (2,'Qandahar','AFG','Qandahar',237500);
@@ -1390,14 +1411,14 @@
# (remaining INSERT statements omitted)
</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, <emphasis>before</emphasis>
- importing the table into the Cluster database, to modify its
- definition so that it reads (still using
- <literal>City</literal> as an example):
- </para>
+ <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, <emphasis>before</emphasis>
+ importing the table into the Cluster database, to modify its
+ definition so that it reads (still using <literal>City</literal>
+ as an example):
+ </para>
<programlisting>
DROP TABLE IF EXISTS City;
@@ -1416,78 +1437,76 @@
# (etc.)
</programlisting>
- <para>
- This will need to be done for the definition of each table
- that is to be part of the clustered database. The easiest
- way to accomplish this is to do a search-and-replace on the
- <filename>world.sql</filename> file and replace all
- instances of <literal>TYPE=MyISAM</literal> or
- <literal>ENGINE=MyISAM</literal> with
- <literal>ENGINE=NDBCLUSTER</literal>. If you do not want to
- modify the file, you can also use <literal>ALTER
- TABLE</literal> to change their type. The particulars are
- given later in this section.
- </para>
+ <para>
+ This will need to be done for the definition of each table that
+ is to be part of the clustered database. The easiest way to
+ accomplish this is to do a search-and-replace on the
+ <filename>world.sql</filename> file and replace all instances of
+ <literal>TYPE=MyISAM</literal> or
+ <literal>ENGINE=MyISAM</literal> with
+ <literal>ENGINE=NDBCLUSTER</literal>. If you do not want to
+ modify the file, you can also use <literal>ALTER TABLE</literal>
+ to change their type. The particulars are given later in this
+ section.
+ </para>
- <para>
- Assuming that you have already created a database named
- <literal>world</literal> on the SQL node of the cluster, you
- can then use the <command>mysql</command> command-line
- client to read <filename>city_table.sql</filename>, and
- create and populate the corresponding table in the usual
- manner:
- </para>
+ <para>
+ Assuming that you have already created a database named
+ <literal>world</literal> on the SQL node of the cluster, you can
+ then use the <command>mysql</command> command-line client to
+ read <filename>city_table.sql</filename>, and create and
+ populate the corresponding table in the usual manner:
+ </para>
<programlisting>
shell> <userinput>mysql world < city_table.sql</userinput>
</programlisting>
- <para>
- It is very important to keep in mind that the preceding
- command must be executed on the host where the SQL node is
- running -- in this case, on the machine with the IP address
- <literal>192.168.0.20</literal>.
- </para>
+ <para>
+ It is very important to keep in mind that the preceding command
+ must be executed on the host where the SQL node is running -- in
+ this case, on the machine with the IP address
+ <literal>192.168.0.20</literal>.
+ </para>
- <para>
- To create a copy of the <literal>world</literal> database on
- the SQL node, save the file to
- <filename>/usr/local/mysql/data</filename>, and then run
- </para>
+ <para>
+ To create a copy of the <literal>world</literal> database on the
+ SQL node, save the file to
+ <filename>/usr/local/mysql/data</filename>, and then run
+ </para>
<programlisting>
shell> <userinput>cd /usr/local/mysql/data</userinput>
shell> <userinput>mysql world < world.sql</userinput>
</programlisting>
- <para>
- Of course, the SQL script must be readable by the
- <literal>mysql</literal> system user. If you save the file
- to a different location, adjust the preceding instructions
- accordingly.
- </para>
+ <para>
+ Of course, the SQL script must be readable by the
+ <literal>mysql</literal> system user. If you save the file to a
+ different location, adjust the preceding instructions
+ accordingly.
+ </para>
- <para>
- It is important to note that <literal>NDB Cluster</literal>
- in MySQL ¤t-series; does not support autodiscovery of
- databases. (See
- <xref linkend="mysql-cluster-limitations"/>.) This means
- that, once the <literal>world</literal> database and its
- tables have been created on one data node, you need to issue
- the statement <literal>CREATE SCHEMA world</literal>,
- (beginning with MySQL 5.0.2, you may use <literal>CREATE
- SCHEMA world</literal> instead), followed by <literal>FLUSH
- TABLES</literal> on each SQL node in the cluster. This will
- cause the node to recognize the database and read its table
- definitions.
- </para>
+ <para>
+ It is important to note that <literal>NDB Cluster</literal> in
+ MySQL ¤t-series; does not support autodiscovery of
+ databases. (See <xref linkend="mysql-cluster-limitations"/>.)
+ This means that, once the <literal>world</literal> database and
+ its tables have been created on one data node, you need to issue
+ the statement <literal>CREATE SCHEMA world</literal>, (beginning
+ with MySQL 5.0.2, you may use <literal>CREATE SCHEMA
+ world</literal> instead), followed by <literal>FLUSH
+ TABLES</literal> on each SQL node in the cluster. This will
+ cause the node to recognize the database and read its table
+ definitions.
+ </para>
- <para>
- Running <literal>SELECT</literal> queries on the SQL node is
- no different than running them on any other instance of a
- MySQL server. To run queries from the command line, you
- first need to log in to the MySQL Monitor in the usual way:
- </para>
+ <para>
+ Running <literal>SELECT</literal> queries on the SQL node is no
+ different than running them on any other instance of a MySQL
+ server. To run queries from the command line, you first need to
+ log in to the MySQL Monitor in the usual way:
+ </para>
<programlisting>
shell> <userinput>mysql -u root -p</userinput>
@@ -1497,15 +1516,36 @@
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
-mysql><userinput/>
+mysql>
</programlisting>
- <para>
- If you did not modify the <literal>ENGINE=</literal> clauses
- in the table definitions prior to importing the SQL script,
- you should run the following statements at this point:
- </para>
+ <para>
+ Specify the <literal>root</literal> password at the
+ <literal>Enter password:</literal> prompt.
+ </para>
+ <para>
+ We simply use the MySQL server's <literal>root</literal> account
+ and assume that you have followed the standard security
+ precautions for installing a MySQL server, including setting a
+ strong <literal>root</literal> password. For more information,
+ see <xref linkend="default-privileges"/>.
+ </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.
+ </para>
+
+ <para>
+ If you did not modify the <literal>ENGINE</literal> clauses in
+ the table definitions prior to importing the SQL script, you
+ should run the following statements at this point:
+ </para>
+
<programlisting>
mysql> <userinput>USE world;</userinput>
mysql> <userinput>ALTER TABLE City ENGINE=NDBCLUSTER;</userinput>
@@ -1513,34 +1553,12 @@
mysql> <userinput>ALTER TABLE CountryLanguage ENGINE=NDBCLUSTER;</userinput>
</programlisting>
- <para>
- Note that we simply use the MySQL server's default
- <literal>root</literal> account with its empty password
- here. Of course, in a production setting, you should
- <emphasis>always</emphasis> follow the standard security
- precautions for installing a MySQL server, including the
- setting of a strong <literal>root</literal> password and
- creation of a user account with only those privileges
- required to accomplish the tasks necessary for that user.
- For more information about these, see
- <xref linkend="privilege-system"/>.
- </para>
+ <para>
+ Selecting a database and running a <command>SELECT</command>
+ query against a table in that database is also accomplished in
+ the usual manner, as is exiting the MySQL Monitor:
+ </para>
- <para>
- It is worth taking into account that Cluster nodes do not
- make use of the MySQL privileges system when accessing one
- another, and setting or changing MySQL user accounts
- (including the <literal>root</literal> account) has no
- effect on interaction between nodes, only on applications
- accessing the SQL node.
- </para>
-
- <para>
- Selecting a database and running a <command>SELECT</command>
- query against a table in that database is also accomplished
- in the usual manner, as is exiting the MySQL Monitor:
- </para>
-
<programlisting>
mysql> <userinput>USE world;</userinput>
mysql> <userinput>SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5;</userinput>
@@ -1558,17 +1576,18 @@
mysql> <userinput>\q</userinput>
Bye
-shell><userinput/>
+shell>
</programlisting>
- <para>
- Applications using MySQL can use standard APIs. It is
- important to remember that your application must access the
- SQL node, and not the MGM or storage nodes. This brief
- example shows how we might execute the same query shown
- earlier using PHP 5's <literal>mysqli</literal> extension
- running on a Web server elsewhere on the network:
- </para>
+ <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 storage 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:
+ </para>
<programlisting>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
@@ -1628,35 +1647,18 @@
</html>
</programlisting>
- <para>
- We assume that the process running on the Web server can
- reach the IP address of the SQL node.
- </para>
+ <para>
+ We assume that the process running on the Web server can reach
+ the IP address of the SQL node.
+ </para>
- <para>
- In a similar fashion, you can use the MySQL C API, Perl-DBI,
- Python-mysql, or MySQL AB's own Connectors to perform the
- tasks of data definition and manipulation just as you would
- normally with MySQL.
- </para>
- </listitem>
+ <para>
+ In a similar fashion, you can use the MySQL C API, Perl-DBI,
+ Python-mysql, or MySQL AB's own Connectors to perform the tasks
+ of data definition and manipulation just as you would normally
+ with MySQL.
+ </para>
- <listitem>
- <para>
- Also remember that <emphasis>each <literal>NDB</literal>
- table must have a primary key</emphasis>. If no primary key
- is defined by the user when a table is created, the
- <literal>NDB Cluster</literal> storage engine will
- automatically generate 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 keys.)
- </para>
- </listitem>
-
- </itemizedlist>
-
</section>
<section id="multi-shutdown-restart">
@@ -2279,9 +2281,18 @@
</programlisting>
<para>
- There are six different sections in this configuration file:
+ Note that each node has its own section in the
+ <filename>config.ini</filename>. For instance, this cluster
+ has two data nodes, so the preceding configuration file
+ contains two <literal>[NDBD]</literal> sections defining these
+ nodes.
</para>
+ <para>
+ There are six different sections in that you can use in the
+ <filename>config.ini</filename> configuration file:
+ </para>
+
<itemizedlist>
<listitem>
@@ -2333,15 +2344,11 @@
</itemizedlist>
<para>
- Note that each node has its own section in the
- <filename>config.ini</filename>. For instance, this cluster
- has two data nodes, so the configuration file contains two
- sections defining these nodes.
- </para>
-
- <para>
You can define <literal>DEFAULT</literal> values for each
- section. All Cluster parameter names are case-insensitive.
+ section. All Cluster parameter names are case-insensitive,
+ which differs from parameters specified in
+ <filename>my.cnf</filename> or <filename>my.ini</filename>
+ files.
</para>
</section>
@@ -2352,18 +2359,19 @@
<para>
With the exception of the MySQL Cluster management server
- (<command>ndb_mgmd</command>), each node making up a MySQL
- Cluster requires a <firstterm>connectstring</firstterm> which
- points to the management server's location. This is used in
- establishing a connection to the management server as well as
- in performing other tasks depending on the node's role in the
- cluster. The syntax for a connectstring is as follows:
+ (<command>ndb_mgmd</command>), each node that is part of a
+ MySQL Cluster requires a <firstterm>connectstring</firstterm>
+ that points to the management server's location. This
+ connectstring is used in establishing a connection to the
+ management server as well as in performing other tasks
+ depending on the node's role in the cluster. The syntax for a
+ connectstring is as follows:
</para>
<programlisting>
<connectstring> :=
[<nodeid-specification>,]<host-specification>[,<host-specification>]
-
+
<nodeid-specification> := <replaceable>node_id</replaceable>
<host-specification> := <replaceable>host_name</replaceable>[:<replaceable>port_num</replaceable>]
Modified: trunk/refman-5.1/ndbcluster.xml
===================================================================
--- trunk/refman-5.1/ndbcluster.xml 2006-02-01 18:44:04 UTC (rev 1169)
+++ trunk/refman-5.1/ndbcluster.xml 2006-02-01 18:44:17 UTC (rev 1170)
@@ -1331,6 +1331,11 @@
<title>&title-multi-load-data-queries;</title>
+ <remark role="todo">
+ Look into changing this section to use new sample DB once MikeH
+ has it ready.
+ </remark>
+
<para>
Working with data in MySQL Cluster is not much different than
doing so in MySQL without Cluster. There are two points to keep
@@ -1339,50 +1344,66 @@
<itemizedlist>
- <remark role="todo">
- Look into changing this example to use new sample DB once
- MikeH has it ready.
- </remark>
+ <listitem>
+ <para>
+ For a table to be replicated in the cluster, it must be
+ created with the <option>ENGINE=NDB</option> or
+ <option>ENGINE=NDBCLUSTER</option> table option, or else it
+ must be altered after being created (using <literal>ALTER
+ TABLE</literal>) to use the <literal>NDB Cluster</literal>
+ storage engine.
+ </para>
+ </listitem>
<listitem>
<para>
- Tables must be created with the <option>ENGINE=NDB</option>
- or <option>ENGINE=NDBCLUSTER</option> option, or be altered
- (using <literal>ALTER TABLE</literal>) to use the NDB
- CLuster storage engine to have them replicated in the
- cluster. If you are importing tables from an existing
- database using the output of <command>mysqldump</command>,
- you can open the SQL script or scripts in a text editor and
- add this option to any table creation statements, or replace
- any existing <literal>ENGINE</literal> (or
- <literal>TYPE</literal>) option with one of these. Suppose
- that you have the sample <literal>world</literal> database
- on another MySQL server (that does not support MySQL
- Cluster), and you want to export the definition for the
- <literal>City</literal> table:
+ Also remember that <emphasis>each <literal>NDB</literal>
+ table must have a primary key</emphasis>. If no primary key
+ is defined by the user when a table is created, the
+ <literal>NDB Cluster</literal> storage engine will
+ automatically generate 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 keys.)
</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ If you are importing tables from an existing database using the
+ output of <command>mysqldump</command>, you can open the SQL
+ script or scripts in a text editor and add the
+ <literal>ENGINE</literal> option to any table creation
+ statements, or replace any existing <literal>ENGINE</literal>
+ (or <literal>TYPE</literal>) option. Suppose that you have the
+ <literal>world</literal> sample database on another MySQL server
+ that does not support MySQL Cluster, and you want to export the
+ <literal>City</literal> table:
+ </para>
+
<programlisting>
shell> <userinput>mysqldump --add-drop-table world City > city_table.sql</userinput>
</programlisting>
- <para>
- The resulting <filename>city_table.sql</filename> file will
- contain this table creation statement (and the
- <literal>INSERT</literal> statements necessary to import the
- table data):
- </para>
+ <para>
+ The resulting <filename>city_table.sql</filename> file will
+ contain this table creation statement (and the
+ <literal>INSERT</literal> statements necessary to import the
+ table data):
+ </para>
<programlisting>
-DROP TABLE IF EXISTS City;
-CREATE TABLE City (
-ID int(11) NOT NULL auto_increment,
-Name char(35) NOT NULL default '',
-CountryCode char(3) NOT NULL default '',
-District char(20) NOT NULL default '',
-Population int(11) NOT NULL default '0',
-PRIMARY KEY (ID)
-) ENGINE=MyISAM;
+DROP TABLE IF EXISTS `City`;
+CREATE TABLE `City` (
+ `ID` int(11) NOT NULL auto_increment,
+ `Name` char(35) NOT NULL default '',
+ `CountryCode` char(3) NOT NULL default '',
+ `District` char(20) NOT NULL default '',
+ `Population` int(11) NOT NULL default '0',
+ PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO City VALUES (1,'Kabul','AFG','Kabol',1780000);
INSERT INTO City VALUES (2,'Qandahar','AFG','Qandahar',237500);
@@ -1390,14 +1411,14 @@
# (remaining INSERT statements omitted)
</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, <emphasis>before</emphasis>
- importing the table into the Cluster database, to modify its
- definition so that it reads (still using
- <literal>City</literal> as an example):
- </para>
+ <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, <emphasis>before</emphasis>
+ importing the table into the Cluster database, to modify its
+ definition so that it reads (still using <literal>City</literal>
+ as an example):
+ </para>
<programlisting>
DROP TABLE IF EXISTS City;
@@ -1416,76 +1437,74 @@
# (etc.)
</programlisting>
- <para>
- This will need to be done for the definition of each table
- that is to be part of the clustered database. The easiest
- way to accomplish this is to do a search-and-replace on the
- <filename>world.sql</filename> file and replace all
- instances of <literal>TYPE=MyISAM</literal> or
- <literal>ENGINE=MyISAM</literal> with
- <literal>ENGINE=NDBCLUSTER</literal>. If you do not want to
- modify the file, you can also use <literal>ALTER
- TABLE</literal> to change their type. The particulars are
- given later in this section.
- </para>
+ <para>
+ This will need to be done for the definition of each table that
+ is to be part of the clustered database. The easiest way to
+ accomplish this is to do a search-and-replace on the
+ <filename>world.sql</filename> file and replace all instances of
+ <literal>TYPE=MyISAM</literal> or
+ <literal>ENGINE=MyISAM</literal> with
+ <literal>ENGINE=NDBCLUSTER</literal>. If you do not want to
+ modify the file, you can also use <literal>ALTER TABLE</literal>
+ to change their type. The particulars are given later in this
+ section.
+ </para>
- <para>
- Assuming that you have already created a database named
- <literal>world</literal> on the SQL node of the cluster, you
- can then use the <command>mysql</command> command-line
- client to read <filename>city_table.sql</filename>, and
- create and populate the corresponding table in the usual
- manner:
- </para>
+ <para>
+ Assuming that you have already created a database named
+ <literal>world</literal> on the SQL node of the cluster, you can
+ then use the <command>mysql</command> command-line client to
+ read <filename>city_table.sql</filename>, and create and
+ populate the corresponding table in the usual manner:
+ </para>
<programlisting>
shell> <userinput>mysql world < city_table.sql</userinput>
</programlisting>
- <para>
- It is very important to keep in mind that the preceding
- command must be executed on the host where the SQL node is
- running -- in this case, on the machine with the IP address
- <literal>192.168.0.20</literal>.
- </para>
+ <para>
+ It is very important to keep in mind that the preceding command
+ must be executed on the host where the SQL node is running -- in
+ this case, on the machine with the IP address
+ <literal>192.168.0.20</literal>.
+ </para>
- <para>
- To create a copy of the <literal>world</literal> database on
- the SQL node, save the file to
- <filename>/usr/local/mysql/data</filename>, and then run
- </para>
+ <para>
+ To create a copy of the <literal>world</literal> database on the
+ SQL node, save the file to
+ <filename>/usr/local/mysql/data</filename>, and then run
+ </para>
<programlisting>
shell> <userinput>cd /usr/local/mysql/data</userinput>
shell> <userinput>mysql world < world.sql</userinput>
</programlisting>
- <para>
- Of course, the SQL script must be readable by the
- <literal>mysql</literal> system user. If you save the file
- to a different location, adjust the preceding instructions
- accordingly.
- </para>
+ <para>
+ Of course, the SQL script must be readable by the
+ <literal>mysql</literal> system user. If you save the file to a
+ different location, adjust the preceding instructions
+ accordingly.
+ </para>
- <para>
- It is important to note that <literal>NDB Cluster</literal>
- in MySQL ¤t-series; does not support autodiscovery of
- databases. (See
- <xref linkend="mysql-cluster-limitations"/>.) This means
- that, once the <literal>world</literal> database and its
- tables have been created on one data node, you need to issue
- the statement <literal>CREATE SCHEMA world</literal>,
- followed by <literal>FLUSH TABLES</literal> on each SQL node
- in the cluster. This will cause the node to recognize the
- database and read its table definitions.
- </para>
+ <para>
+ It is important to note that <literal>NDB Cluster</literal> in
+ MySQL ¤t-series; does not support autodiscovery of
+ databases. (See <xref linkend="mysql-cluster-limitations"/>.)
+ This means that, once the <literal>world</literal> database and
+ its tables have been created on one data node, you need to issue
+ the statement <literal>CREATE SCHEMA world</literal>, followed
+ by <literal>FLUSH TABLES</literal> on each SQL node in the
+ cluster. This will cause the node to recognize the database and
+ read its table definitions.
+ </para>
- <para>
- Running <literal>SELECT</literal> queries on the SQL node is
- no different than running them on any other instance of a
- MySQL server. To run queries from the command line, you
- first need to log in to the MySQL Monitor in the usual way:
- </para>
+ <para>
+ Running <literal>SELECT</literal> queries on the SQL node is no
+ different than running them on any other instance of a MySQL
+ server. To run queries from the command line, you first need to
+ log in to the MySQL Monitor in the usual way:
+ </para>
<programlisting>
shell> <userinput>mysql -u root -p</userinput>
@@ -1495,15 +1514,36 @@
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
-mysql><userinput/>
+mysql>
</programlisting>
- <para>
- If you did not modify the <literal>ENGINE=</literal> clauses
- in the table definitions prior to importing the SQL script,
- you should run the following statements at this point:
- </para>
+ <para>
+ Specify the <literal>root</literal> password at the
+ <literal>Enter password:</literal> prompt.
+ </para>
+ <para>
+ We simply use the MySQL server's <literal>root</literal> account
+ and assume that you have followed the standard security
+ precautions for installing a MySQL server, including setting a
+ strong <literal>root</literal> password. For more information,
+ see <xref linkend="default-privileges"/>.
+ </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.
+ </para>
+
+ <para>
+ If you did not modify the <literal>ENGINE</literal> clauses in
+ the table definitions prior to importing the SQL script, you
+ should run the following statements at this point:
+ </para>
+
<programlisting>
mysql> <userinput>USE world;</userinput>
mysql> <userinput>ALTER TABLE City ENGINE=NDBCLUSTER;</userinput>
@@ -1511,34 +1551,12 @@
mysql> <userinput>ALTER TABLE CountryLanguage ENGINE=NDBCLUSTER;</userinput>
</programlisting>
- <para>
- Note that we simply use the MySQL server's default
- <literal>root</literal> account with its empty password
- here. Of course, in a production setting, you should
- <emphasis>always</emphasis> follow the standard security
- precautions for installing a MySQL server, including the
- setting of a strong <literal>root</literal> password and
- creation of a user account with only those privileges
- required to accomplish the tasks necessary for that user.
- For more information about these, see
- <xref linkend="privilege-system"/>.
- </para>
+ <para>
+ Selecting a database and running a <command>SELECT</command>
+ query against a table in that database is also accomplished in
+ the usual manner, as is exiting the MySQL Monitor:
+ </para>
- <para>
- It is worth taking into account that Cluster nodes do not
- make use of the MySQL privileges system when accessing one
- another, and setting or changing MySQL user accounts
- (including the <literal>root</literal> account) has no
- effect on interaction between nodes, only on applications
- accessing the SQL node.
- </para>
-
- <para>
- Selecting a database and running a <command>SELECT</command>
- query against a table in that database is also accomplished
- in the usual manner, as is exiting the MySQL Monitor:
- </para>
-
<programlisting>
mysql> <userinput>USE world;</userinput>
mysql> <userinput>SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5;</userinput>
@@ -1556,17 +1574,18 @@
mysql> <userinput>\q</userinput>
Bye
-shell><userinput/>
+shell>
</programlisting>
- <para>
- Applications using MySQL can use standard APIs. It is
- important to remember that your application must access the
- SQL node, and not the MGM or storage nodes. This brief
- example shows how we might execute the same query shown
- earlier using PHP 5's <literal>mysqli</literal> extension
- running on a Web server elsewhere on the network:
- </para>
+ <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 storage 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:
+ </para>
<programlisting>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
@@ -1626,35 +1645,18 @@
</html>
</programlisting>
- <para>
- We assume that the process running on the Web server can
- reach the IP address of the SQL node.
- </para>
+ <para>
+ We assume that the process running on the Web server can reach
+ the IP address of the SQL node.
+ </para>
- <para>
- In a similar fashion, you can use the MySQL C API, Perl-DBI,
- Python-mysql, or MySQL AB's own Connectors to perform the
- tasks of data definition and manipulation just as you would
- normally with MySQL.
- </para>
- </listitem>
+ <para>
+ In a similar fashion, you can use the MySQL C API, Perl-DBI,
+ Python-mysql, or MySQL AB's own Connectors to perform the tasks
+ of data definition and manipulation just as you would normally
+ with MySQL.
+ </para>
- <listitem>
- <para>
- Also remember that <emphasis>each <literal>NDB</literal>
- table must have a primary key</emphasis>. If no primary key
- is defined by the user when a table is created, the
- <literal>NDB Cluster</literal> storage engine will
- automatically generate 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 keys.)
- </para>
- </listitem>
-
- </itemizedlist>
-
</section>
<section id="multi-shutdown-restart">
@@ -2277,9 +2279,18 @@
</programlisting>
<para>
- There are six different sections in this configuration file:
+ Note that each node has its own section in the
+ <filename>config.ini</filename>. For instance, this cluster
+ has two data nodes, so the preceding configuration file
+ contains two <literal>[NDBD]</literal> sections defining these
+ nodes.
</para>
+ <para>
+ There are six different sections in that you can use in the
+ <filename>config.ini</filename> configuration file:
+ </para>
+
<itemizedlist>
<listitem>
@@ -2331,15 +2342,11 @@
</itemizedlist>
<para>
- Note that each node has its own section in the
- <filename>config.ini</filename>. For instance, this cluster
- has two data nodes, so the configuration file contains two
- sections defining these nodes.
- </para>
-
- <para>
You can define <literal>DEFAULT</literal> values for each
- section. All Cluster parameter names are case-insensitive.
+ section. All Cluster parameter names are case-insensitive,
+ which differs from parameters specified in
+ <filename>my.cnf</filename> or <filename>my.ini</filename>
+ files.
</para>
</section>
@@ -2350,18 +2357,19 @@
<para>
With the exception of the MySQL Cluster management server
- (<command>ndb_mgmd</command>), each node making up a MySQL
- Cluster requires a <firstterm>connectstring</firstterm> which
- points to the management server's location. This is used in
- establishing a connection to the management server as well as
- in performing other tasks depending on the node's role in the
- cluster. The syntax for a connectstring is as follows:
+ (<command>ndb_mgmd</command>), each node that is part of a
+ MySQL Cluster requires a <firstterm>connectstring</firstterm>
+ that points to the management server's location. This
+ connectstring is used in establishing a connection to the
+ management server as well as in performing other tasks
+ depending on the node's role in the cluster. The syntax for a
+ connectstring is as follows:
</para>
<programlisting>
<connectstring> :=
[<nodeid-specification>,]<host-specification>[,<host-specification>]
-
+
<nodeid-specification> := <replaceable>node_id</replaceable>
<host-specification> := <replaceable>host_name</replaceable>[:<replaceable>port_num</replaceable>]
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r1170 - in trunk: . refman-4.1 refman-5.0 refman-5.1 | paul | 1 Feb |