Gelrea Cluster es fácil de usar

Puede consultar la documentación https://galeracluster.com/library/documentation/index.html, aquí solo se introduce el método de instalación

1) Tres nodos, crea fuentes yum por separado

[root@ydong ~]# cat /etc/yum.repos.d/mariadb.repo 
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.0-galera/centos/7/x86_64/
gpgcheck = 0

2) Instalacióninstall MariaDB-client MariaDB-Galera-server galera

yum install MariaDB-client \
      MariaDB-Galera-server \
      galera

3) Prepare la configuración del sistema y la configuración de replicación de nodos para cada nodo, consulte el documento

[mysqld]
skip_name_resolve=ON
innodb_file_per_table=ON

[galera]
# Mandatory settings
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.199.157,192.168.199.141,192.168.199.155"
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
#
# Optional setting
#wsrep_slave_threads=1
#innodb_flush_log_at_trx_commit=0

# this is only for embedded server

4) Inicie el clúster, primero comience en cualquier nodo, debe agregar --wsrep-new-cluster, para inicializar el clúster, el resto de los nodos pueden comenzar normalmente

/etc/init.d/mysql start --wsreq-new-cluster
其余节点可以直接使用systemctl 
systemctl start mysql

5) Ver el estado del clúster de la base de datos en mysql

#证明已经有三个节点成功启动了
MariaDB [(none)]> SHOW STATUS LIKE 'wsrep_cluster_size';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+
1 row in set (0.00 sec)

6) Prueba el clúster

MariaDB [ydong]> CREATE TABLE my_cluster ( id INT UNSIGNED  ,  message char(10));
MariaDB [ydong]> INSERT INTO my_cluster VALUES (1,'hello');

[root@ydong ~]# mysql -e 'SELECT * FROM ydong.my_cluster'
+------+---------+
| id   | message |
+------+---------+
|    1 | hello   |
+------+---------+

7) Desconecte un nodo, siga escribiendo datos en él durante este período y luego reinicie el nodo roto.

再次插入一条数据
[root@ydong ~]# mysql -e 'SELECT * FROM ydong.my_cluster'
+------+---------+
| id   | message |
+------+---------+
|    1 | hello   |
|    2 | hi      |
+------+---------+

重启断掉的节点会自动重新启动

8) Reinicie todo el servicio de clúster. Si todos los servicios de clúster se cuelgan por fuerza mayor y deben reiniciarse, los nodos deben iniciarse en orden, de lo contrario se perderá parte de los datos. Documentos de referencia

killall mysqld

9) El /var/lib/grastate.datarchivo registra el último mysql que cerró el nodo, uno de los cuales es safe_to_bootstrap=1el mysql correcto que debe iniciarse cuando se reinicia todo el clúster. El 1sistema lo escribe automáticamente. Si queremos iniciar la base de datos donde este elemento es 0. No iniciará la base de datos

 [root@ydong ~]#  cat /var/lib/mysql/grastate.dat 
# GALERA saved state
version: 2.1
uuid:    9c81c2b4-fa9c-11ea-80a0-bbd29ca18721
seqno:   5
safe_to_bootstrap: 0
[root@ydong ~]# /etc/init.d/mysql start
Starting MariaDB.200920 13:47:37 mysqld_safe Logging to '/var/lib/mysql/ydong.com.err'.
200920 13:47:37 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
................................../etc/init.d/mysql: 第 262 行:kill: (14016) - 没有那个进程
 ERROR! 

10) 1La base de datos que reiniciamos como , debido a que es un proceso /var/lib/mysql.sockmuerto , todavía hay mysql.sock, esto causará conflictos, primero debe eliminarlo, la prueba anterior se ha eliminado

rm -rf /var/lib/mysql/mysql.sock

[root@ydong ~]# /etc/init.d/mysql start --wsrep-new-cluster
Starting MariaDB.200920 13:50:36 mysqld_safe Logging to '/var/lib/mysql/ydong.com.err'.
200920 13:50:36 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
. SUCCESS! 

11) Estamos comenzando otros dos nodos

[root@ydong ~]# systemctl restart mysql
[root@ydong ~]# systemctl status mysql
● mysql.service - LSB: start and stop MariaDB
   Loaded: loaded (/etc/rc.d/init.d/mysql; bad; vendor preset: disabled)
   Active: active (running) since 日 2020-09-20 13:51:20 CST; 5s ago

12) Ver el estado del clúster

wsrep_cluster_size           | 3  
wsrep_ready                  | ON                                                             | 
wsrep_thread_count           | 2     

Supongo que te gusta

Origin blog.csdn.net/qq_44564366/article/details/108692018
Recomendado
Clasificación