Le mostraremos cómo configurar MySQL Cluster en Ubuntu. MySQL NDB Cluster integra el servidor MySQL estándar con un motor de almacenamiento en clúster en memoria llamado NDB (Network DataBase). Usaremos un total de 4 servidores virtuales, uno para la administración, un nodo SQL y dos nodos de datos:
- 172.16.1.1 – VPS de gestión
- 172.16.1.2:SQL VPS
- 172.16.1.3 – datos1 VPS
- 172.16.1.4 – datos2 VPS
1. Instalar y configurar MySQL Cluster en el VPS de gestión
Descargue la última versión de MySQL Cluster disponible en http://dev.mysql.com/downloads/cluster/ a un directorio de su servidor virtual y extráigalo usando los siguientes comandos:
cd /opt/ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz -O mysql-cluster.tar.gz tar -xvzf mysql-cluster.tar.gz -C /opt/ mv mysql-cluster-* mysql
Ejecute los siguientes comandos:
cd /opt/mysql/ cp bin/ndb_mgm* /usr/local/bin/ chmod 755 /usr/local/bin/ndb_mgm*
Cree un directorio llamado 'mysql-cluster'
mkdir -p /var/lib/mysql-cluster/
Luego, cree una nueva configuración llamada 'config.ini':
vi /var/lib/mysql-cluster/config.ini
añádele las siguientes líneas:
[ndbd default] NoOfReplicas=2 # Memory to allocate for data storage DataMemory=2G # Memory to allocate for index storage IndexMemory=512M [mysqld default] [ndb_mgmd default] [tcp default] # Management VPS [ndb_mgmd] # Enter the hostname or IP address of the Management VPS hostname=172.16.1.1 # SQL VPS [mysqld] # Enter the hostname or IP address of the SQL VPS hostname=172.16.1.2 # Data1 VPS [ndbd] # Enter the hostname or IP address of the Data1 VPS hostname=172.16.1.3 DataDir= /var/lib/mysql-cluster # Data2 VPS [ndbd] # Enter the hostname or IP address of the Data2 VPS hostname=172.16.1.4 DataDir=/var/lib/mysql-cluster
No olvide cambiar los nombres de host/direcciones IP de acuerdo con los nombres de host/direcciones IP de su servidor.
2. Instale y configure MySQL Cluster en el SQL VPS
Compruebe si hay paquetes de MySQL ya instalados:
dpkg -l | grep mysql rc libmysqlclient18:amd64 5.5.49-0ubuntu0.14.04.1 amd64 MySQL database client library ii mysql-client 5.7.16-0ubuntu0.16.04.1 all MySQL database client (metapackage depending on the latest version) ii mysql-client-5.7 5.7.16-0ubuntu0.16.04.1 amd64 MySQL database client binaries ii mysql-client-core-5.7 5.7.16-0ubuntu0.16.04.1 amd64 MySQL database core client binaries ii mysql-common 5.7.16-0ubuntu0.16.04.1 all MySQL database common files, e.g. /etc/mysql/my.cnf ii mysql-server 5.7.16-0ubuntu0.16.04.1 all MySQL database server (metapackage depending on the latest version) rc mysql-server-5.5 5.5.49-0ubuntu0.14.04.1 amd64 MySQL database server binaries and system database setup ii mysql-server-5.7 5.7.13-0ubuntu0.16.04.2 amd64 MySQL database server binaries and system database setup ii mysql-server-core-5.7 5.7.13-0ubuntu0.16.04.2 amd64 MySQL database server binaries
Elimina estos paquetes y sus configuraciones usando:
apt-get purge mysql-c* mysql-s*
O bien, elimine los paquetes y los archivos de configuración enumerados por ‘dpkg -l | grep mysql' comando anterior usando:
apt-get purge mysql-client mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.5 mysql-server-5.7 mysql-server-core-5.7 libmysqlclient18
Descargue la última versión de MySQL Cluster disponible en 'http://dev.mysql.com/downloads/cluster/' en el directorio opt de su servidor virtual y extráigalo con los siguientes comandos:
cd /opt/ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz -O mysql-cluster.tar.gz tar -xvzf mysql-cluster.tar.gz -C /opt/ Run the following commands:
mv mysql-cluster-* mysql mv mysql /usr/local/ cd /usr/local/mysql/ mv bin/* /usr/local/bin/ rm -rf bin/ ln -s /usr/local/bin /usr/local/mysql/ cp support-files/mysql.server /etc/init.d/mysql systemctl enable mysql mysqld --initialize chown -R root:mysql /usr/local/mysql/ chown -R mysql /usr/local/mysql/data/
Edite el archivo de configuración de MySQL (/etc/my.cnf):
vi /etc/my.cnf
agregue las siguientes líneas:
[mysqld] datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql ndbcluster ndb-connectstring=172.16.1.1 [mysql_cluster] ndb-connectstring=172.16.1.1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
Inicie sesión en el VPS de gestión a través de SSH y ejecute el siguiente comando:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
Para configurar ndb_mgmd para que se inicie en el arranque, agregue el siguiente comando a '/etc/rc.local':
vi /etc/rc.local
y agrega:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
antes de la línea "salir 0" y guarde el archivo.
Inicie el servicio MySQL en el SQL VPS:
service mysql start
Para mejorar la seguridad de su instalación de MySQL, ejecute:
/usr/local/mysql/bin/mysql_secure_installation
3. Instale y configure MySQL Cluster en los VPS de datos
Compruebe si hay paquetes de MySQL ya instalados usando:
dpkg -l | grep mysql
Elimínelos, incluidos los archivos de configuración:
apt-get purge mysql-client mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.5 mysql-server-5.7 mysql-server-core-5.7 libmysqlclient18
Descargue y extraiga la última versión de MySQL Cluster en el directorio opt del VPS data1:
cd /opt/ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz -O mysql-cluster.tar.gz tar -xvzf mysql-cluster.tar.gz -C /opt/
Ejecute los siguientes comandos:
mv mysql-cluster-* mysql mv mysql /usr/local/ chown -R root:mysql /usr/local/mysql/ cd /usr/local/mysql/ mv bin/* /usr/local/bin/ rm -rf bin/ ln -s /usr/local/bin /usr/local/mysql/
Edite el archivo de configuración de MySQL:
vi /etc/my.cnf
agregue las siguientes líneas:
[mysqld] datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql ndbcluster ndb-connectstring=172.16.1.1 [mysql_cluster] ndb-connectstring=172.16.1.1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
Ejecute los siguientes comandos:
mkdir /var/lib/mysql-cluster chown -R mysql /var/lib/mysql-cluster cd /var/lib/mysql-cluster ndbd --initial echo "ndbd" > /etc/init.d/ndbd chmod 755 /etc/init.d/ndbd
Repita el mismo procedimiento en el VPS Data2.
Para verificar el estado del clúster de MySQL, ejecute el siguiente comando en el VPS de administración:
ndb_mgm -e show
La salida debería verse así:
Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=3 @172.16.1.3 (mysql-5.7.16 ndb-7.5.4, Nodegroup: 0, *) id=4 @172.16.1.4 (mysql-5.7.16 ndb-7.5.4, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @172.16.1.1 (mysql-5.7.16 ndb-7.5.4) [mysqld(API)] 1 node(s) id=2 @172.16.1.2 (mysql-5.7.16 ndb-7.5.4)
Eso es. La configuración del clúster de MySQL ahora está completa.
Por supuesto, no es necesario que configure MySQL Cluster en Ubuntu si utiliza uno de nuestros servicios de hospedaje VPS de MySQL, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que configuren MySQL Cluster. para ti. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato. Para obtener más actualizaciones, puede leer MariaDB/MySQL Auto-Clustering with Load Balancing and Replication for High Availability and Performance.
PD. Si le gustó esta publicación sobre cómo configurar MySQL Cluster en Ubuntu, compártala con sus amigos en las redes sociales usando los botones a la izquierda o simplemente deje una respuesta a continuación. Gracias.