Spec-Zone .ru
спецификации, руководства, описания, API
|
Once the MySQL Cluster executables and needed configuration files are in place, performing an initial start of the cluster is simply a matter of starting the MySQL Cluster executables for all nodes in the cluster. Each cluster node process must be started separately, and on the host computer where it resides. The management node should be started first, followed by the data nodes, and then finally by any SQL nodes.
On the management node host, issue the following command from the command line to start the management node process:
C:\mysql\bin> ndb_mgmd
2010-06-23 07:53:34 [MgmtSrvr] INFO -- NDB Cluster Management Server. mysql-5.6.11-ndb-7.3.32010-06-23 07:53:34 [MgmtSrvr] INFO -- Reading cluster configuration from 'config.ini'
The management node process continues to print logging output to the console. This is normal, because the management node is not running as a Windows service. (If you have used MySQL Cluster on a Unix-like platform such as Linux, you may notice that the management node's default behavior in this regard on Windows is effectively the opposite of its behavior on Unix systems, where it runs by default as a Unix daemon process. This behavior is also true of MySQL Cluster data node processes running on Windows.) For this reason, do not close the window in which ndb_mgmd.exe is running; doing so kills the management node process. (See Section 17.2.3.4, "Installing MySQL Cluster Processes as Windows Services", where we show how to install and run MySQL Cluster processes as Windows services.)
The required -f
option tells the management node where to find the
global configuration file (config.ini
). The long form of this option
is --config-file
.
A MySQL Cluster management node caches the configuration data that it reads from config.ini
; once it has created a configuration cache, it ignores
the config.ini
file on subsequent starts unless forced to do
otherwise. This means that, if the management node fails to start due to an error in this file,
you must make the management node re-read config.ini
after you
have corrected any errors in it. You can do this by starting ndb_mgmd.exe with the --reload
or --initial
option on the command line. Either of these options
works to refresh the configuration cache.
It is not necessary or advisable to use either of these options in the management
node's my.ini
file.
For additional information about options which can be used with ndb_mgmd, see Section 17.4.4, "ndb_mgmd — The MySQL Cluster Management Server Daemon", as well as Section 17.4.25, "Options Common to MySQL Cluster Programs — Options Common to MySQL Cluster Programs".
On each of the data node hosts, run the command shown here to start the data node processes:
C:\mysql\bin> ndbd
2010-06-23 07:53:46 [ndbd] INFO -- Configuration fetched from 'localhost:1186', generation: 1
In each case, the first line of output from the data node process should resemble what is shown in the preceding example, and is followed by additional lines of logging output. As with the management node process, this is normal, because the data node is not running as a Windows service. For this reason, do not close the console window in which the data node process is running; doing so kills ndbd.exe. (For more information, see Section 17.2.3.4, "Installing MySQL Cluster Processes as Windows Services".)
Do not start the SQL node yet; it cannot connect to the cluster until the data
nodes have finished starting, which may take some time. Instead, in a new console window on the
management node host, start the MySQL Cluster management client ndb_mgm.exe, which should be in C:\mysql\bin
on the management node host. (Do not try to re-use the
console window where ndb_mgmd.exe is running by typing CTRL+C, as
this kills the management node.) The resulting output should look like this:
C:\mysql\bin> ndb_mgm
-- NDB Cluster -- Management Client --ndb_mgm>
When the prompt ndb_mgm>
appears, this indicates that the management
client is ready to receive MySQL Cluster management commands. You can observe the status of the data
nodes as they start by entering ALL STATUS
at the management client
prompt. This command causes a running report of the data nodes's startup sequence, which should look
something like this:
ndb_mgm> ALL STATUS
Connected to Management Server at: localhost:1186Node 2: starting (Last completed phase 3) (mysql-5.6.11-ndb-7.3.3)Node 3: starting (Last completed phase 3) (mysql-5.6.11-ndb-7.3.3)Node 2: starting (Last completed phase 4) (mysql-5.6.11-ndb-7.3.3)Node 3: starting (Last completed phase 4) (mysql-5.6.11-ndb-7.3.3)Node 2: Started (version 7.3.3)Node 3: Started (version 7.3.3)ndb_mgm>
Commands issued in the management client are not case-sensitive; we use uppercase as the canonical form of these commands, but you are not required to observe this convention when inputting them into the ndb_mgm client. For more information, see Section 17.5.2, "Commands in the MySQL Cluster Management Client".
The output produced by ALL STATUS
is likely to vary from what is shown
here, according to the speed at which the data nodes are able to start, the release version number
of the MySQL Cluster software you are using, and other factors. What is significant is that, when
you see that both data nodes have started, you are ready to start the SQL node.
You can leave ndb_mgm.exe running; it has no negative impact on the performance of the MySQL Cluster, and we use it in the next step to verify that the SQL node is connected to the cluster after you have started it.
On the computer designated as the SQL node host, open a console window and navigate
to the directory where you unpacked the MySQL Cluster binaries (if you are following our example, this
is C:\mysql\bin
).
Start the SQL node by invoking mysqld.exe from the command line, as shown here:
C:\mysql\bin> mysqld
--console
The --console
option causes logging information to be written to the console, which can be helpful in the event of
problems. (Once you are satisfied that the SQL node is running in a satisfactory manner, you can
stop it and restart it out without the --console
option, so that logging is performed normally.)
In the console window where the management client (ndb_mgm.exe) is running on the management node host,
enter the SHOW
command, which should produce output similar to what is
shown here:
ndb_mgm> SHOW
Connected to Management Server at: localhost:1186Cluster Configuration---------------------[ndbd(NDB)] 2 node(s)id=2 @192.168.0.30 (Version: 5.6.11-ndb-7.3.3, Nodegroup: 0, Master)id=3 @192.168.0.40 (Version: 5.6.11-ndb-7.3.3, Nodegroup: 0)[ndb_mgmd(MGM)] 1 node(s)id=1 @192.168.0.10 (Version: 5.6.11-ndb-7.3.3)[mysqld(API)] 1 node(s)id=4 @192.168.0.20 (Version: 5.6.11-ndb-7.3.3)
You can also verify that the SQL node is connected to the MySQL Cluster in the mysql client (mysql.exe) using the SHOW ENGINE NDB STATUS
statement.
You should now be ready to work with database objects and data using MySQL Cluster's NDBCLUSTER
storage engine. See Section
17.2.6, "MySQL Cluster Example with Tables and Data", for more information and examples.
You can also install ndb_mgmd.exe, ndbd.exe, and ndbmtd.exe as Windows services. For information on how to do this, see Section 17.2.3.4, "Installing MySQL Cluster Processes as Windows Services").