一、部署环境说明本文使用本地VM虚拟机进行部署和测试。OS:CentOSLinuxrelease7.6.1810(Core)3.10.0-957.el7.x86_64IP:192.168.168.100Docker版本:v20.10.6虚拟机配置:2核CPU,4G内存注:①系统为最小安装、部署之前已经完成系统初始化、内核和安全优化;②已安装Docker。2、Docker部署PXCDocker镜像仓库地址:https://hub.docker.com/r/percona/percona-xtradb-clusterDocker部署官方文档:https://www.percona.com/doc/percona-xtradb-cluster/最新/install/docker.html1。拉取镜像dockerpullpercona/percona-xtradb-cluster:5.7.33##使用tag给他打标签方便使用dockertagpercona/percona-xtradb-cluster:5.7.33pxc:5.7.33##删除之前的镜像dockerrmi-fpercona/percona-xtradb-cluster:5.7.332.Settingupthenetwork##创建一个专用于pxc的网络,使用dockernetworkcreate--subnet=10.8.0.0/24pxc-net##查看创建的Network信息dockernetworkls3。持久化存储##使用dockervolumecreate为容器创建三个卷--namedata1dockervolumecreate--namedata2dockervolumecreate--namedata3##查看创建的存储卷信息dockervolumeels##查看存储卷详情dockervolumeinspectdata14。构建容器并形成集群关系##node1dockerrun-d--restartalways-p3301:3306\-vdata1:/var/lib/mysql\-eMYSQL_ROOT_PASSWORD=test20210425\-eCLUSTER_NAME=pxc\-eXTRABACKUP_PASSWORD=test20210425\--net=pxc-net--privileged\--ip10.8.0.2--namenode1pxc:5.7.33##node2dockerrun-d--restartalways-p3302:3306\-vdata2:/var/lib/mysql\-eMYSQL_ROOT_PASSWORD=test20210425\-eCLUSTER_NAME=pxc\-eXTRABACKUP_PASSWORD=test20210425\-eCLUSTER_JOIN=node1\--net=pxc-net--privileged\--ip10.8.0.3--namenode2pxc:5.7.33##node3dockerrun-d--restartalways-p3303:3306\-vdata3:/var/lib/mysql\-eMYSQL_ROOT_PASSWORD=test20210425\-eCLUSTER_NAME=pxc\-eXTRABACKUP_PASSWORD=test20210425\-eCLUSTER_JOIN=node1\--net=pxc-net--特权\--ip10。8.0.4--namenode3pxc:5.7.33##部分参数说明①CLUSTER_JOIN:形成集群关系②MYSQL_ROOT_PASSWORD:用户root密码③CLUSTER_NAME:集群名称④XTRABACKUP_PASSWORD:数据备份密码⑤privileged:指定最高优先级确定容器中的root拥有真正的root权限,否则root只是一个普通用户⑥net:所在网段,pxc-net为创建的网段##勾选容器dockerps-a5。验证①验证集群可用##进入MySQL客户端(任意节点)dockerexec-itnode1/usr/bin/mysql-uroot-p//输入上面设置的root密码登录MySQL##查看wsrep状态variables(部分变量截图)showstatuslike'wsrep%';+--------------------------------+-------------------------------------------------------+|Variable_name|Value|+----------------------------------+-------------------------------------------------------+|wsrep_local_state_uuid|f9d0df93-a995-11eb-8057-e2d1b05bbeb4||wsrep_protocol_version|9||wsrep_last_applied|18||wsrep_last_committed|18||wsrep_replicated|0||wsrep_replicated_bytes|0||wsrep_repl_keys|0||wsrep_repl_keys_bytes|0||wsrep_repl_data_bytes|0||wsrep_repl_other_bytes|0||wsrep_received|16||wsrep_received_bytes|1876||wsrep_local_commits|0||wsrep_local_cert_failures|0||wsrep_local_replays|0||wsrep_local_send_queue|0||wsrep_local_send_queue_max|1||wsrep_local_send_queue_min|0||wsrep_local_send_queue_avg|0.00ws0e|0||wsrep_local_recv_queue_max|2||wsrep_local_recv_queue_min|0||wsrep_local_recv_queue_avg|0.187500||wsrep_local_cached_downto|0||wsrep_flow_control_paused_ns|0||wsrep_flow_control_paused|0.000000||wsrep_flow_control_sent|0||wsrep_flow_control_recv|0||wsrep_flow_control_interval|[173,173]||wsrep_flow_control_interval_low|173||wsrep_flow_control_interval_high|173||wsrep_flow_control_status|OFF||wsrep_flow_control_active|false||wsrep_flow_control_requested|false||wsrep_cert_deps_distance|0.000000||wsrep_apply_oooe|0.000000||wsrep_apply_oool|0.000000||wsrep_apply_window|0.000000||wsrep_commit_oooe|0.000000||wsrep_commit_oool|0.000000||wsrep_commit_window|0.000000||wsrep_local_state|4||wsrep_local_state_comment|Synced||wsrep_cert_index_size|0||wsrep_cert_bucket_count|22||wsrep_gcac??he_pool_size|1576||wsrep_causal_reads|0||wsrep_cert_interval|0.000000||wsrep_open_transactions|0||wsrep_open_connections|0||wsrep_ist_receive_status|||wsrep_ist_receive_seqno_start|0||wsrep_ist_receive_seqno_current|0||wsrep_ist_receive_seqno_end|0||wsrep_incoming_addresses|1d475a8c4011:3306,c315e1e4f978:3306,883260fe6518:3306||wsrep_cluster_weight|3||wsrep_desync_count|0||wsrep_evs_delayed|||wsrep_evs_evict_list|||wsrep_evs_repl_latency|0/0/0/0/0||WSREP_EVS_STATE|操作||WSREP_GCOMM_UUID|04954080-A996-11EBBBBBBB9-9319A5BDF71511eb-8057-e2d1b05bbeb4||wsrep_cluster_status|Primary||wsrep_connected|ON||wsrep_local_bf_aborts|0||wsrep_local_index|0||wsrep_provider_name|Galera||wsrep_provider_vendor|CodershipOy
