Spec-Zone .ru
спецификации, руководства, описания, API
|
To familiarize you with the basics, we will describe the simplest possible configuration for a functional MySQL Cluster. After this, you should be able to design your desired setup from the information provided in the other relevant sections of this chapter.
First, you need to create a configuration directory such as /var/lib/mysql-cluster
,
by executing the following command as the system root
user:
shell> mkdir
/var/lib/mysql-cluster
In this directory, create a file named config.ini
that contains the following
information. Substitute appropriate values for HostName
and DataDir
as necessary for your system.
# file "config.ini" - showing minimal setup consisting of 1 data node,# 1 management server, and 3 MySQL servers.# The empty default sections are not required, and are shown only for# the sake of completeness.# Data nodes must provide a hostname but MySQL Servers are not required# to do so.# If you don't know the hostname for your machine, use localhost.# The DataDir parameter also has a default value, but it is recommended to# set it explicitly.# Note: [db], [api], and [mgm] are aliases for [ndbd], [mysqld], and [ndb_mgmd],# respectively. [db] is deprecated and should not be used in new installations.[ndbd default]NoOfReplicas= 1[mysqld default][ndb_mgmd default][tcp default][ndb_mgmd]HostName= myhost.example.com[ndbd]HostName= myhost.example.comDataDir= /var/lib/mysql-cluster[mysqld][mysqld][mysqld]
You can now start the ndb_mgmd management server. By default, it attempts to read the
config.ini
file in its current working directory, so change location into the
directory where the file is located and then invoke ndb_mgmd:
shell>cd /var/lib/mysql-cluster
shell>ndb_mgmd
Then start a single data node by running ndbd:
shell> ndbd
For command-line options which can be used when starting ndbd, see Section 17.4.25, "Options Common to MySQL Cluster Programs — Options Common to MySQL Cluster Programs".
By default, ndbd looks for the management server at localhost
on port 1186.
If you have installed MySQL from a binary tarball, you will need to specify the path of the ndb_mgmd
and ndbd
servers explicitly. (Normally, these will be found in /usr/local/mysql/bin
.)
Finally, change location to the MySQL data directory (usually /var/lib/mysql
or
/usr/local/mysql/data
), and make sure that the my.cnf
file contains the option necessary to enable the NDB storage engine:
[mysqld]ndbcluster
You can now start the MySQL server as usual:
shell> mysqld_safe --user=mysql &
Wait a moment to make sure the MySQL server is running properly. If you see the notice mysql
ended
, check the server's .err
file to find out what went wrong.
If all has gone well so far, you now can start using the cluster. Connect to the server and verify that the NDBCLUSTER
storage engine is enabled:
shell>mysql
Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1 to server version: 5.6.13Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql>SHOW ENGINES\G
...*************************** 12. row ***************************Engine: NDBCLUSTERSupport: YESComment: Clustered, fault-tolerant, memory-based tables*************************** 13. row ***************************Engine: NDBSupport: YESComment: Alias for NDBCLUSTER...
The row numbers shown in the preceding example output may be different from those shown on your system, depending upon how your server is configured.
Try to create an NDBCLUSTER
table:
shell>mysql
mysql>USE test;
Database changedmysql>CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;
Query OK, 0 rows affected (0.09 sec)mysql>SHOW CREATE TABLE ctest \G
*************************** 1. row *************************** Table: ctestCreate Table: CREATE TABLE `ctest` ( `i` int(11) default NULL) ENGINE=ndbcluster DEFAULT CHARSET=latin11 row in set (0.00 sec)
To check that your nodes were set up properly, start the management client:
shell> ndb_mgm
Use the SHOW command from within the management client to obtain a report on the cluster's status:
ndb_mgm> SHOW
Cluster Configuration---------------------[ndbd(NDB)] 1 node(s)id=2 @127.0.0.1 (Version: 5.6.11-ndb-7.3.3, Nodegroup: 0, Master)[ndb_mgmd(MGM)] 1 node(s)id=1 @127.0.0.1 (Version: 5.6.11-ndb-7.3.3)[mysqld(API)] 3 node(s)id=3 @127.0.0.1 (Version: 5.6.11-ndb-7.3.3)id=4 (not connected, accepting connect from any host)id=5 (not connected, accepting connect from any host)
At this point, you have successfully set up a working MySQL Cluster. You can now store data in the cluster by
using any table created with ENGINE=NDBCLUSTER
or its alias ENGINE=NDB
.