首页 > 解决方案 > 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

标签: mysqldockerubuntudocker-composepercona-xtradb-cluster

解决方案


根据手册,您似乎应该仅在第一台服务器启动后才启动第二台和第三台服务器,因此,使用您的 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现在,他们指出要加入的服务器


推荐阅读