galera mysql详细搭建过程
时间: 2023-08-18 10:20:33 浏览: 103
Galera Cluster 是一个基于 MySQL 的高可用性解决方案,它使用多主复制来提供高可用性和容错性。下面是详细的 Galera MySQL 搭建过程:
1. 准备环境
首先,需要在每个节点上安装 MySQL 和 Galera Cluster 插件。可以从 Galera Cluster 官网下载相应版本的插件,然后按照官方文档的说明进行安装。
2. 配置节点
在每个节点上,需要修改 MySQL 配置文件 my.cnf,以启用 Galera Cluster 插件和相应的设置。以下是一个示例配置文件:
```
[mysqld]
binlog_format=ROW
default-storage-engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_provider_options="gcache.size=300M"
wsrep_cluster_name="my_cluster"
wsrep_cluster_address="gcomm://node1_ip,node2_ip,node3_ip"
wsrep_node_address="node_ip"
wsrep_node_name="node_name"
```
其中,wsrep_cluster_address 是一个逗号分隔的节点列表,用于指定集群中所有节点的 IP 地址。wsrep_node_address 是当前节点的 IP 地址,wsrep_node_name 是当前节点的名称。
3. 启动节点
在每个节点上,启动 MySQL 服务。如果一切正常,可以在 MySQL 日志中看到 Galera Cluster 插件的输出信息。例如:
```
[Note] WSREP: Service initialized: wsrep-servicename version: 25.3.15-1.pv.el7.centos
[Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
[Note] WSREP: Assign initial position for certification: 0, protocol version: -1
[Note] WSREP: Service thread queue flushed.
[Note] WSREP: Assign initial position for certification: 1, protocol version: -1
[Note] WSREP: Service thread queue flushed.
[Note] WSREP: Member 0.0 (node1) requested state transfer from '*any*'. Selected 1.0 (node2)(SYNCED) as donor.
[Note] WSREP: Shifting PRIMARY -> JOINER (TO: 1)
[Note] WSREP: Requesting state transfer: success, donor: 1
[Note] WSREP: GCache history reset: old(00000000-0000-0000-0000-000000000000:0) -> new(0bf9c446-8b85-11eb-a024-2a2ae2dbcce4:1)
[Note] WSREP: Node 0.0 (node1) joined cluster at position 1 with UUID 0bf9c446-8b85-11eb-a024-2a2ae2dbcce4
[Note] WSREP: Shifting JOINER -> JOINED (TO: 1)
[Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
[Note] WSREP: REPL Protocols: 9 (4, 2)
[Note] WSREP: Assign initial position for certification: 1, protocol version: 4
[Note] WSREP: Service thread queue flushed.
[Note] WSREP: Member 0.0 (node1) synced with group.
[Note] WSREP: Shifting JOINED -> SYNCED (TO: 1)
[Note] WSREP: Synchronized with group, ready for connections
```
4. 测试节点
在任意一个节点上,连接到 MySQL 服务,创建一个测试数据库和表,并在多个节点上插入数据,以测试数据同步和故障转移功能。如果一切正常,可以在集群中的任意节点上查看到相同的数据。
5. 监控集群
为了保证 Galera Cluster 的稳定运行,需要实时监控集群状态和性能指标。可以使用第三方工具或自行编写脚本来实现监控功能。
总之,Galera Cluster 是一个非常强大的高可用性解决方案,可以为 MySQL 数据库提供可靠的容错和故障转移功能。但是,它的安装和配置比较复杂,需要仔细阅读官方文档并按照指示进行操作。
阅读全文