MariaDB高可用

环境

节点 IP 主机名
node1 172.25.253.5   node1
node2 172.25.253.8  node2 
node3 172.25.253.4  ndoe3 

 

MariaDB高可用

配置映射和主机名

[root@node-1 ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.25.253.5 node1
172.25.253.8 node2
172.25.253.4 node3


[root@node-1 ~]# hostnamectl set-hostname node1
[root@node-2 ~]# hostnamectl set-hostname node2
[root@node-3 ~]# hostnamectl set-hostname node3

 

配置YUM源

[centos]
name=centos
baseurl=http://172.25.253.3/centos/
gpgcheck=0
enabled=1

[mariadb]
name=mariadb
baseurl=http://172.25.253.3/colony/mariadb-repo/
gpgcheck=0
enabled=1

 

安装服务

[root@node1 ~]# yum install -y MariaDB-client MariaDB-server galera
[root@node2 ~]# yum install -y MariaDB-client MariaDB-server galera
[root@node3 ~]# yum install -y MariaDB-client MariaDB-server galera

[root@node1 ~]# systemctl start mariadb
[root@node2 ~]# systemctl start mariadb
[root@node3 ~]# systemctl start mariadb

 

初始化数据库

[root@node1 ~]# mysqladmin -uroot password 000000
[root@node2 ~]# mysqladmin -uroot password 000000
[root@node3 ~]# mysqladmin -uroot password 000000

 

修改三个节点的配置文件

  • 修改node1的配置文件
[root@node1 ~]# vim /etc/my.cnf.d/server.cnf 
[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://node1,node2,node3
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
  • 修改node2和node3的配置文件
[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://node1,node2,node3
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
#
# Allow server to accept connections on all interfaces.
#
bind-address=0.0.0.0

 

设置数据库授权

[root@node1 ~]# mysql -uroot -p000000
MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by'000000'; 

[root@node2 ~]# mysql -uroot -p000000
MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by'000000'; 

[root@node3 ~]# mysql -uroot -p000000
MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by'000000'; 

 

启动高可用模式

[root@node1 ~]# systemctl stop mariadb
[root@node2 ~]# systemctl stop mariadb
[root@node3 ~]# systemctl stop mariadb

[root@node1 ~]# galera_new_cluster 
[root@node2 ~]# systemctl start mariadb
[root@node3 ~]# systemctl start mariadb

 

查看服务端口

[root@node1 ~]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:4567            0.0.0.0:*               LISTEN      1688/mysqld         
tcp6       0      0 :::3306                 :::*                    LISTEN      1688/mysqld    

 


验证

  • 登录node1节点的数据库,并查看galera插件是否启动

[root@node1 ~]# mysql -uroot -p000000 -e 'show status like "wsrep_ready";'
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wsrep_ready   | ON    |
+---------------+-------+
  • 继续查看集群成员数量

[root@node1 ~]# mysql -uroot -p000000 -e 'show status like "wsrep_cluster_size";'
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+
  • 查看galera集群状态

[root@node1 ~]# mysql -uroot -p000000 -e 'show status like "wsrep%";' 
+-------------------------------+-------------------------------------------------------+
| Variable_name                 | Value                                                 |
+-------------------------------+-------------------------------------------------------+
| wsrep_applier_thread_count    | 1                                                     |
| wsrep_apply_oooe              | 0.000000                                              |
| wsrep_apply_oool              | 0.000000                                              |
| wsrep_apply_window            | 0.000000                                              |
| wsrep_causal_reads            | 0                                                     |
| wsrep_cert_deps_distance      | 0.000000                                              |
| wsrep_cert_index_size         | 0                                                     |
| wsrep_cert_interval           | 0.000000                                              |
| wsrep_cluster_conf_id         | 3                                                     |
| wsrep_cluster_size            | 3                                                     |
| wsrep_cluster_state_uuid      | 22703950-5664-11ec-8cc3-a76919721d21                  |
| wsrep_cluster_status          | Primary                                               |
| wsrep_cluster_weight          | 3                                                     |
| wsrep_commit_oooe             | 0.000000                                              |
| wsrep_commit_oool             | 0.000000                                              |
| wsrep_commit_window           | 0.000000                                              |
| wsrep_connected               | ON                                                    |
| wsrep_desync_count            | 0                                                     |
| wsrep_evs_delayed             |                                                       |
| wsrep_evs_evict_list          |                                                       |
| wsrep_evs_repl_latency        | 0/0/0/0/0                                             |
| wsrep_evs_state               | OPERATIONAL                                           |
| wsrep_flow_control_paused     | 0.000000                                              |
| wsrep_flow_control_paused_ns  | 0                                                     |
| wsrep_flow_control_recv       | 0                                                     |
| wsrep_flow_control_sent       | 0                                                     |
| wsrep_gcomm_uuid              | 226f48f2-5664-11ec-8788-221b22688a55                  |
| wsrep_incoming_addresses      | 172.25.253.5:3306,172.25.253.8:3306,172.25.253.4:3306 |
| wsrep_last_committed          | 0                                                     |
| wsrep_local_bf_aborts         | 0                                                     |
| wsrep_local_cached_downto     | 18446744073709551615                                  |
| wsrep_local_cert_failures     | 0                                                     |
| wsrep_local_commits           | 0                                                     |
| wsrep_local_index             | 0                                                     |
| wsrep_local_recv_queue        | 0                                                     |
| wsrep_local_recv_queue_avg    | 0.100000                                              |
| wsrep_local_recv_queue_max    | 2                                                     |
| wsrep_local_recv_queue_min    | 0                                                     |
| wsrep_local_replays           | 0                                                     |
| wsrep_local_send_queue        | 0                                                     |
| wsrep_local_send_queue_avg    | 0.000000                                              |
| wsrep_local_send_queue_max    | 1                                                     |
| wsrep_local_send_queue_min    | 0                                                     |
| wsrep_local_state             | 4                                                     |
| wsrep_local_state_comment     | Synced                                                |
| wsrep_local_state_uuid        | 22703950-5664-11ec-8cc3-a76919721d21                  |
| wsrep_open_connections        | 0                                                     |
| wsrep_open_transactions       | 0                                                     |
| wsrep_protocol_version        | 9                                                     |
| wsrep_provider_name           | Galera                                                |
| wsrep_provider_vendor         | Codership Oy <info@codership.com>                     |
| wsrep_provider_version        | 25.3.29(r3902)                                        |
| wsrep_ready                   | ON                                                    |
| wsrep_received                | 10                                                    |
| wsrep_received_bytes          | 742                                                   |
| wsrep_repl_data_bytes         | 0                                                     |
| wsrep_repl_keys               | 0                                                     |
| wsrep_repl_keys_bytes         | 0                                                     |
| wsrep_repl_other_bytes        | 0                                                     |
| wsrep_replicated              | 0                                                     |
| wsrep_replicated_bytes        | 0                                                     |
| wsrep_rollbacker_thread_count | 1                                                     |
| wsrep_thread_count            | 2                                                     |
+-------------------------------+-------------------------------------------------------+
  • 查看连接的主机
[root@node1 ~]# mysql -uroot -p000000 -e 'show status like "wsrep_incoming_addresses";'
+--------------------------+-------------------------------------------------------+
| Variable_name            | Value                                                 |
+--------------------------+-------------------------------------------------------+
| wsrep_incoming_addresses | 172.25.253.5:3306,172.25.253.8:3306,172.25.253.4:3306 |
+--------------------------+-------------------------------------------------------+
  • 验证数据库集群的同步功能,在node1节点上创建测试数据库testnode1

MariaDB [(none)]> create database testnode1;
Query OK, 1 row affected (0.005 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| testnode1          |
+--------------------+
4 rows in set (0.001 sec)
  • 可以看到node1节点创建了名字为testnode1的数据库,去node2和node3节点查看

node2节点:
[root@node2 ~]# mysql -uroot -p000000
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| testnode1          |
+--------------------+
4 rows in set (0.001 sec)

node3节点:
[root@node3 ~]# mysql -uroot -p000000
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| testnode1          |
+--------------------+
4 rows in set (0.001 sec)

 

posted @ 2021-12-06 15:19  衡衡酱  阅读(4)  评论(0)    收藏  举报
Live2D