DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) mysql-cluster-quick

Info Catalog (mysql.info) mysql-cluster-installing (mysql.info) mysql-cluster-configuration (mysql.info) mysql-cluster-config-file
 
 15.4.3 Quick Test Setup of MySQL Cluster
 ----------------------------------------
 
 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 and API are 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.com
      DataDir= /var/lib/mysql-cluster
 
      [MYSQLD]
      [MYSQLD]
      [MYSQLD]
 
 You can now start the `ndb_mgmd' management server. By default, it
 atttempts 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 DB node by running `ndbd'.  When starting `ndbd'
 for a given DB node for the very first time, you should use the
 -initial option as shown here:
 
      shell> ndbd --initial
 
 For subsequent `ndbd' starts, you will generally want to _omit_ the
 -initial option:
 
      shell> ndbd
 
 The reason for omitting -initial on subsequent restarts is that this
 option causes `ndbd' to delete and re-create all existing data and log
 files (as well as all table metadata) for this data node. One exception
 to this rule about not using -initial except for the first `ndbd'
 invocation is that you use it when restarting the cluster and restoring
 from backup after adding new data nodes.
 
 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.0.19-Max
 
      Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
      mysql> SHOW ENGINES\G
      ...
      *************************** 12. row ***************************
      Engine: NDBCLUSTER
      Support: YES
      Comment: Clustered, fault-tolerant, memory-based tables
      *************************** 13. row ***************************
      Engine: NDB
      Support: YES
      Comment: 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 changed
 
      mysql> CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;
      Query OK, 0 rows affected (0.09 sec)
 
      mysql> SHOW CREATE TABLE ctest \G
      *************************** 1. row ***************************
             Table: ctest
      Create Table: CREATE TABLE `ctest` (
        `i` int(11) default NULL
      ) ENGINE=ndbcluster DEFAULT CHARSET=latin1
      1 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> SHOW
      Cluster Configuration
      ---------------------
      [ndbd(NDB)]     1 node(s)
      id=2    @127.0.0.1  (Version: 3.5.3, Nodegroup: 0, Master)
 
      [ndb_mgmd(MGM)] 1 node(s)
      id=1    @127.0.0.1  (Version: 3.5.3)
 
      [mysqld(API)]   3 node(s)
      id=3    @127.0.0.1  (Version: 3.5.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'.
 
Info Catalog (mysql.info) mysql-cluster-installing (mysql.info) mysql-cluster-configuration (mysql.info) mysql-cluster-config-file
automatically generated byinfo2html