MariaDB高可用
环境
| 节点 | IP | 主机名 |
| node1 | 172.25.253.5 | node1 |
| node2 | 172.25.253.8 | node2 |
| node3 | 172.25.253.4 | ndoe3 |
[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
[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
[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 | +--------------------------+-------------------------------------------------------+
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)

浙公网安备 33010602011771号