已有的一个 MySQL PXC 集群环境,因为种种原因仅剩一个节点 node1,需要新增一个集群节点 node2。

node1 版本:donor version (8.0.21)

node2 版本:local version (8.0.32)

大致步骤:

1、node2 配置部署新版本的集群环境;

2、node2 配置/etc/my.cnf

拷贝 node1 的配置文件,仅需修改serverid、nodename

3、node2 准备数据目录,确保目录为空

4、node2 启动服务

会提示报错,需要将 node1 的 *.pem 文件拷贝到新节点,再次启动即可。

本次遇见一个低级错误,顺便看一下启动过程日志如下:

开始是使用那些pem文件握手连接,并执行数据同步,之后是升级:
2023-07-26T01:47:42.264423Z 1 [System] [MY-013413] [Server] Data dictionary upgrade from version '80021' to '80023' completed.
2023-07-26T01:47:50.295523Z 4 [System] [MY-013381] [Server] Server upgrade from '80021' to '80032' completed.
后面的启动尽管报错,但无需再次升级数据:
2023-07-26T01:50:51.621940Z 0 [Note] [MY-000000] [WSREP-SST] Proceeding with SST.........
2023-07-26T01:50:51.670240Z 0 [Note] [MY-000000] [WSREP-SST] ............Waiting for SST streaming to complete!
2023-07-26T01:51:15.992054Z 0 [Note] [MY-000000] [Galera] 0.0 (node1): State transfer to 1.0 (node2) complete.
2023-07-26T01:51:15.993423Z 0 [Note] [MY-000000] [Galera] Member 0.0 (node1) synced with group.
2023-07-26T01:51:15.998986Z 0 [Note] [MY-000000] [WSREP-SST] Preparing the backup at /mysql/pxc/data//sst-xb-tmpdir
2023-07-26T01:51:17.808995Z 0 [Note] [MY-000000] [WSREP-SST] Moving the backup to /mysql/pxc/data/
2023-07-26T01:51:17.929261Z 0 [Note] [MY-000000] [WSREP-SST] Running post-processing...........
2023-07-26T01:51:17.938459Z 0 [Note] [MY-000000] [WSREP-SST] Opting for mysql_upgrade (sst): local version (8.0.32) != donor version (8.0.21)
2023-07-26T01:51:18.030688Z 0 [Note] [MY-000000] [WSREP-SST] Waiting for server instance to start..... This may take some time
2023-07-26T01:51:31.230189Z 0 [ERROR] [MY-000000] [WSREP-SST] ******************* FATAL ERROR **********************
2023-07-26T01:51:31.230243Z 0 [ERROR] [MY-000000] [WSREP-SST] Failed to start the mysql server that checks for async replication.
2023-07-26T01:51:31.230251Z 0 [ERROR] [MY-000000] [WSREP-SST] Check the parameters and retry
2023-07-26T01:51:31.230255Z 0 [ERROR] [MY-000000] [WSREP-SST] Line 521 pid:6129
2023-07-26T01:51:31.232347Z 0 [ERROR] [MY-000000] [WSREP-SST] ------------ mysql error log (START) ------------
---- Starting the MySQL server used for post-processing ----
2023-07-26T01:51:18.237305Z 0 [Warning] [MY-011068] [Server] The syntax 'wsrep_slave_threads' is deprecated and will be removed in a future release. Please use wsrep_applier_threads instead.
2023-07-26T01:51:18.237360Z 0 [Warning] [MY-011068] [Server] The syntax 'skip_slave_start' is deprecated and will be removed in a future release. Please use skip_replica_start instead.
2023-07-26T01:51:18.237435Z 0 [Warning] [MY-010097] [Server] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2023-07-26T01:51:18.237441Z 0 [Warning] [MY-010097] [Server] Insecure configuration for --secure-log-path: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2023-07-26T01:51:18.237480Z 0 [Warning] [MY-000000] [WSREP] Node is not a cluster node. Disabling pxc_strict_mode
2023-07-26T01:51:18.238775Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.32-24.2) starting as process 6129
2023-07-26T01:51:18.240915Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2023-07-26T01:51:18.243886Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2023-07-26T01:51:18.243929Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-07-26T01:51:18.249172Z 0 [Warning] [MY-010075] [Server] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e9aa301e-2b56-11ee-a47e-000c2948ee39.
2023-07-26T01:51:18.254102Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-07-26T01:51:18.446220Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-07-26T01:51:18.461620Z 1 [System] [MY-011090] [Server] Data dictionary upgrading from version '80021' to '80023'.
2023-07-26T01:51:20.020760Z 1 [System] [MY-013413] [Server] Data dictionary upgrade from version '80021' to '80023' completed.
2023-07-26T01:51:20.288653Z 1 [Note] [MY-000000] [WSREP] wsrep_init_schema_and_SR (nil)
2023-07-26T01:51:22.618990Z 4 [System] [MY-013381] [Server] Server upgrade from '80021' to '80032' started.
2023-07-26T01:51:27.913366Z 4 [System] [MY-013381] [Server] Server upgrade from '80021' to '80032' completed.
2023-07-26T01:51:27.991646Z 0 [System] [MY-010229] [Server] Starting XA crash recovery...
2023-07-26T01:51:28.163501Z 0 [System] [MY-010232] [Server] XA crash recovery finished.
2023-07-26T01:51:28.220564Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2023-07-26T01:51:28.220603Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-07-26T01:51:28.221965Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/tmp' in the path is accessible to all OS users. Consider choosing a different directory.
报错日志:
2023-07-26T01:51:28.224149Z 0 [ERROR] [MY-000067] [Server] unknown variable 'cert.pem;socket.ssl_ca=ca.pem"'.
2023-07-26T01:51:28.224217Z 0 [ERROR] [MY-010119] [Server] Aborting
2023-07-26T01:51:30.216961Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.32-24.2) Percona XtraDB Cluster (GPL), Release rel24, Revision 2119e75, WSREP version 26.1.4.3.

可见报错的是配置文件错误!原因是多了一个换行符的低级错误,修改后即可。

之后正确的做法是将node1也升级为最新版本即可。

MySQL PXC集群新增一个高版本节点的更多相关文章

  1. MySQL PXC集群安装配置

    1.关闭防火墙 [root@node04 ~]#systemctl disable firewalld [root@node04 ~]#systemctl stop firewalld [root@n ...

  2. Docker 搭建pxc集群 + haproxy + keepalived 高可用(二)

    上一节我们有了两个分片的pxc集群,这一节我们接着安装haproxy和keepalived的实现集群的高可用 一.先下载haproxy的镜像 [root@localhost ~]# docker pu ...

  3. Docker 搭建pxc集群 + haproxy + keepalived 高可用(一)

    一.首先需要安装好docker,安装方法可以参考之前一篇博文Centos7安装docker [root@localhost ~]# systemctl start docker [root@local ...

  4. MySQL PXC集群部署

    安装 Percona-XtraDB-Cluster 架构: 三个节点: pxc_node_0 30.0.0.196 pxc_node_1 30.0.0.198 pxc_node_2 30.0.0.19 ...

  5. docker中mysql pxc集群

    PXC集群 https://hub.docker.com/r/percona/percona-xtradb-cluster 安装PXC镜像 下载镜像或者导入本地镜像 docker pull perco ...

  6. docker 中搭建 mysql pxc 集群

      一.docker中创建pxc 容器 1.拉取PXC 镜像 pull docker pull percona/percona-xtradb-cluster:5.7.21 2.更改镜像名称为pxc t ...

  7. mysql PXC集群方案总结

    同时写集群内的所有机器 写性能依赖最慢的那个机器 读性能提高X倍

  8. docker mysql pxc集群(percona-xtradb-cluster)

    docker pull percona/percona-xtradb-cluster docker tag percona/percona-xtradb-cluster pxc docker netw ...

  9. MySQL之PXC集群搭建

    一.PXC 介绍 1.1 PXC 简介 PXC 是一套 MySQL 高可用集群解决方案,与传统的基于主从复制模式的集群架构相比 PXC 最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实 ...

  10. Spark集群新增节点方法

    Spark集群处理能力不足需要扩容,如何在现有spark集群中新增新节点?本文以一个实例介绍如何给Spark集群新增一个节点. 1. 集群环境 现有Spark集群包括3台机器,用户名都是cdahdp, ...

随机推荐

  1. 前端vue 宫格组件提供常见九宫格菜单组件,扩充性好,可切换九宫格 十二宫格 十五宫格

    快速实现vue uni-app宫格组件提供常见九宫格菜单组件,扩充性好,可切换九宫格 十二宫格 十五宫格; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net. ...

  2. TVM 源码阅读PASS — VectorizeLoop

    本文地址:https://www.cnblogs.com/wanger-sjtu/p/17501119.html VectorizeLoop这个PASS就是对标记为ForKind::kVectoriz ...

  3. ChatGPT的探索与实践-业务应用篇

    本篇文章主要介绍在实际的开发过程当中,如何使用GPT帮助开发,优化流程,恰逢今年京东20周年庆,文末会介绍如何与618大促实际的业务相结合,来提升应用价值.全是干货,且本文所有代码和脚本都是利用GPT ...

  4. mysql怎样实现不重复插入数据

    mysql使用用insert往数据表中插入数据时,为了不重复插入数据,往往先查询一下该条数据是否已经存在,若不存在才进行插入操作. 而使用 insert if not exists语句,就不需重复做上 ...

  5. 语音合成技术汇总1:Glow-TTS:通过单调对齐实现文本到语音的生成流

    今天开始开一期语音合成经典论文的翻译 Glow-TTS:通过单调对齐实现文本到语音的生成流 摘要: 最近,文本到语音(Text-to-Speech,TTS)模型,如FastSpeech和ParaNet ...

  6. Django:TypeError: view must be a callable or a list/tuple in the case of include().

    错误: path("uploads/(?P<path>.*)$", 'django.views.static.serve', {"document_root& ...

  7. Cilium系列-11-启用带宽管理器

    系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, ...

  8. java if switch

    强制类型转换 注意事项:大的转小的需要强制转换 例如: double b=3.4 int小于double所以想让int=b,要在b后面加个(int)b. int a=(int)b    得到3 因为大 ...

  9. 【Unity3D】高斯模糊特效

    1 高斯模糊原理 ​ 边缘检测特效中使用了卷积运算进行了边缘检测,本文实现的高斯模糊特效同样使用了卷积运算,关于卷积核和卷积运算的概念,读者可以参考边缘检测特效. ​ 本文完整资源见→Unity3D高 ...

  10. Ubuntu20.04 下编译和运行 FreeSWITCH的问题汇总

    1. Ubuntu20.04 下编译和运行 FreeSWITCH的问题汇总 1.1. 环境 Ubuntu20.04.2 LTS (Linux 5.4.0-152-generic x86_64 GNU/ ...