mysql - Docker Compose:Percona XtraDB 集群引导
问题描述
我需要一些帮助。如何将 docker-compose 上的Percona XtraDB 集群引导为第一个节点?
我有这个my.cnf文件
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_name=pxc-cluster
wsrep_cluster_address=gcomm://192.168.56.15,192.168.56.20,192.168.56.25
wsrep_node_name=pxc1
wsrep_node_address=192.168.56.15
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=xtrabackup:1q2w3e4r
pxc_strict_mode=ENFORCING
!include /etc/mysql/node.cnf
和docker-compose.yml
version: '2'
services:
percona-xtradb-cluster:
container_name: pxc_node
image: 'percona/percona-xtradb-cluster:5.7'
environment:
- MYSQL_ROOT_PASSWORD=root
- CLUSTER_NAME=pxc-cluster
- XTRABACKUP_PASSWORD=1q2w3e4r
ports:
- 3306:3306
- 4567:4567
- 4568:4568
- 4444:4444
volumes:
- /etc/percona.d/my.cnf:/etc/my.cnf
运行sudo docker-compose up -d
解决方案
根据手册,您似乎应该仅在第一台服务器启动后才启动第二台和第三台服务器,因此,使用您的 docker compose 它应该是这样的
version: '2'
services:
percona-xtradb-cluster:
container_name: pxc_node
image: 'percona/percona-xtradb-cluster:5.7'
environment:
- MYSQL_ROOT_PASSWORD=root
- CLUSTER_NAME=pxc-cluster
- XTRABACKUP_PASSWORD=1q2w3e4r
ports:
- 3306:3306
- 4567:4567
- 4568:4568
- 4444:4444
volumes:
- /etc/percona.d/my.cnf:/etc/my.cnf
percona-xtradb-server1:
depends_on:
- percona-xtradb-cluster
container_name: pxc_node1
image: 'percona/percona-xtradb-cluster:5.7'
environment:
- MYSQL_ROOT_PASSWORD=root
- CLUSTER_NAME=pxc-cluster
- CLUSTER_JOIN=pxc_node
- XTRABACKUP_PASSWORD=1q2w3e4r
volumes:
- /etc/percona.d/my.cnf:/etc/my.cnf
percona-xtradb-server2:
depends_on:
- percona-xtradb-cluster
container_name: pxc_node2
image: 'percona/percona-xtradb-cluster:5.7'
environment:
- MYSQL_ROOT_PASSWORD=root
- CLUSTER_NAME=pxc-cluster
- XTRABACKUP_PASSWORD=1q2w3e4r
- CLUSTER_JOIN=pxc_node
volumes:
- /etc/percona.d/my.cnf:/etc/my.cnf
注意depends
字段 - 它们很重要 -请参阅文档。
看看CLUSTER_JOIN=pxc_node
现在,他们指出要加入的服务器
推荐阅读
- google-colaboratory - 如何在 Colaboratory Notebook 中使用 control+F 向右移动
- python-3.x - 通过使用 python 脚本和 tor 代理访问网站来增加网站流量
- user-interface - 操作系统可以被视为图形用户界面吗?
- python - 从字典中的键访问完整值时遇到问题
- javascript - 如何在javascript中向单个键插入多个值
- selenium - 二维码whatsapp vba
- r - 在 group_by 中调用 cor 函数的“标准偏差为零”错误
- javascript - 在 angularjs 的控制器模块中使用控制器中声明的 json 值
- python - 使用 Keras ImageDataGenerator 预测进行索引会引发不可散列的类型错误
- filebeat - 带输出的 FileBeat 配置测试