Para familiarizarse con los conceptos básicos, describimos la configuración más sencilla para un MySQL Cluster. Después, debería poder diseñar su inicialización deseada a partir de la información proporcionada en las otras secciones de este capítulo.
        Primero, necesita crear un directorio de configuración tal como
        /var/lib/mysql-cluster, ejecutando el
        siguiente comando como root del sistema:
      
shell> mkdir /var/lib/mysql-cluster
        En este directorio, cree un fichero llamado
        config.ini con la siguiente información,
        substituyendo los valores apropiados por
        HostName y DataDir como
        sea necesario para su sistema.
      
# 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]
Ahora puede arrancar el servidor de administración:
shell> cd /var/lib/mysql-cluster shell> ndb_mgmd
        Arranque un nodo DB sencillo usando ndbd. Al
        arrancar ndbd para un nodod DB dado por
        primera vez, debe usar la opción --initial :
      
shell> ndbd --initial
Para arrancar ndbd de nuevo,normalmente no necesitará usar esta opción:
shell> ndbd
        Esto es porque la opción --initial borra todos
        los ficheros de datos y log existentes (así como todos los
        metadatos de tablas) para este nodo de datos y crea nuevos. Una
        excepción a esta regla es al reiniciar el cluster y restaurar
        desde una copia de seguridad tras añadir nuevos nodos de datos.
      
        Por defecto, ndbd buscará el servidor de
        administración en localhost en el puerto
        1186.
      
        Nota: Si ha instalado MySQL
        desde un tarball binario, necesitará especificar la ruta de los
        servidores ndb_mgmd y ndbd
        explícitamente. (Normalemnte, se encuentran en
        /usr/local/mysql/bin.)
      
        Finalmente, vaya al directorio de datos de MySQL (usualmente
        /var/lib/mysql o
        /usr/local/mysql/data), y asegúrese que el
        fichero my.cnf contiene la opción
        necesaria para permitir el motor NDB :
      
[mysqld] ndbcluster
Ahora puede arrancar el servidor MySQL normalmente:
shell> mysqld_safe --user=mysql &
        Espere un momento para asegurarse que el servidor MySQL está
        corriendo apropiadamente. Si ve mysql ended,
        chequee el fichero .err del servidor para
        averiguar qué ha fallado.
      
Si todo ha ido bien, puede arrancar usando el cluster:
shell> mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.10-Max
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> SHOW ENGINES;
+------------+---------+------------------------------------------------------------+
| Engine     | Support | Comment                                                    |
+------------+---------+------------------------------------------------------------+
...
| NDBCLUSTER | DEFAULT | Clustered, fault-tolerant, memory-based tables             |
| NDB        | YES     | Alias for NDBCLUSTER                                       |
...
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)
Para chequear que sus nodos se han inicializado correctamente, arranque el cliente de administración como se muestra:
shell> ndb_mgm
Puede usar el comando SHOW desde el cliente de administración para obtener un reporte del estado del cluster:
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)
        En este punto, ha inicializado correctamente un cluster MySQL.
        Ya puede almacenar datos en el cluster usando cualquier tabla
        creada con ENGINE=NDBCLUSTER o su alias
        ENGINE=NDB.
      
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

