问题标签 [mysql-group-replication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
204 浏览

mysql - 具有多个引导的 MySQL 组复制多主模式

我在不同的位置有 7 台 MySQL 服务器。所有服务器具有相同结构的相同数据库。所有表都使用基于 UUID 的主键进行结构化。(没有自动增量值)。

1(中央)服务器始终连接到网络。(互联网)所有其他 6 台服务器可以随时与网络连接/断开连接。

所有 6 台服务器必须能够在未连接到 Internet 时单独(读/写)和本地工作。

当网络连接时,它们必须相互复制。

一旦所有数据库完全复制,所有数据库必须具有相同的数据内容。(包括主服务器)

我刚刚在这里提到了 1 台服务器作为主服务器。(但没有任何主服务器)。它是主服务器,当所有其他 6 台都没有连接时,因为总部使用它来查询过去的报告。

我已阅读有关 MySQL 组复制(多主模式)的信息。是否可以在我的要求中使用它。如果有人已经有这种经验,请告诉我。

0 投票
1 回答
808 浏览

mysql - 具有复合主键的表是否支持innodb中的组复制

我有一个包含两列 col1、col2 的表,它们是复合主键。请问,该表支持 MySQL InnoDB 集群中的组复制吗?

错误信息:

org.springframework.jdbc.UncategorizedSQLException:休眠刷新:无法执行 JDBC 批量更新;uncategorized SQLException for SQL [/* insert collection row com.domain.BatchClass.documentTypes */ insert into batch_class_document_type (batch_class_id, document_type_id) values (?, ?)]; SQL状态[HY000];错误代码 [3098];该表不符合外部插件的要求。嵌套异常是

显示创建表:

0 投票
1 回答
3353 浏览

mysql - MySQL:无法使用 dba.configureLocalInstance() 为 InnoDB Cluster 设置 MySQL 服务器

我正在尝试按照文档中概述的步骤设置 InnoDB 集群的生产部署( https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-cluster-production-deployment.html ) . 我正在使用 MySQL 5.7.25

我的 MySQL 服务器成功启动并运行(从 MySQL Shell)

哪个打印

(到目前为止,一切都很好)

在此之后我尝试运行dba.configureLocalInstance(),但我收到以下错误消息:

我不确定这意味着什么,但为了尝试绕过它,我运行dba.configureLocalInstance('root@localhost:3306')它似乎有效:

但是在我重新启动 MySQL 服务器后,我得到了完全相同的输出dba.checkInstanceConfiguration('root@localhost:3306')......

我还注意到,/etc/my.cnf从初始安装开始,它的默认设置并没有被修改。如果这是一个权限问题,我将所有者更改为/etc/my.cnf我的用户“mysql”,但结果是一样的......

任何人都可以阐明它吗?任何帮助表示赞赏。

0 投票
1 回答
696 浏览

innodb - ERROR MY-011542 Repl Plugin group_replication 报告:'表 repl_test 没有任何主键

我最近安装了一个 InnoDB Cluster 并尝试创建一个没有任何主键或等效项的表来测试集群索引概念,其中“如果表没有 PRIMARY KEY,InnoDB 在包含行 ID 值的合成列上内部生成一个名为 GEN_CLUST_INDEX 的隐藏聚集索引或合适的唯一索引”。

我创建了如下表:

检查 GEN_CLUST_INDEX 的创建:

但是,当我尝试插入行时,出现以下错误:

下面是我的conf文件:

我的 MySQL 版本: mysql Ver 8.0.11 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL)

0 投票
2 回答
3247 浏览

mysql - MySQL 5.7 innoDB 集群中的一个节点崩溃,无法将崩溃的节点重新加入集群

我们在其中一个环境中有一个 MySQL innodb 集群。集群中的一个节点崩溃了。虽然,我们能够使崩溃的节点联机,但我们无法将其加入集群。

有人可以帮助恢复/恢复节点并将其加入集群。我们尝试使用“dba.rebootClusterFromCompleteOutage()”,但没有帮助。

配置:MySQL 5.7.24社区版,CentOS 7,标准三节点innodb集群

集群状态:

mysql错误日志中记录的错误:

0 投票
2 回答
607 浏览

mysql - 创建集群时是否需要知道 ipWhitelist 中包含的所有主机?

我正在玩 MySQL 8.0.14 和 InnoDB 集群。我目前坚持通过 mySQL shell 创建组复制。

由于我想使用 SSL,我需要在 dba.createCluster() 上设置 ipWhitelist,如下所示:

var cluster = dba.createCluster('testCluster4', {ipWhitelist:'somedns-1.tosqlnode'})

集群创建成功。现在我想添加另一个实例。

cluster.addInstance('ca@somedns-2.tosqlnode', {ipWhitelist:'somedns-1.tosqlnode,somedns-2.tosqlnode'})

这失败了,因为第一个实例显示一个错误,指出非白名单实例正在尝试连接。


所以再创建一个:

var cluster = dba.createCluster('testCluster5', {ipWhitelist:'somedns-1.tosqlnode,somedns-2.tosqlnode'})

集群创建成功。现在我想添加另一个实例。

cluster.addInstance('ca@somedns-2.tosqlnode', {ipWhitelist:'somedns-1.tosqlnode,somedns-2.tosqlnode'})

实例添加成功。


是否真的有必要在创建集群时知道所有实例地址?我无法通过 MySQL shell 找到更改初始 ipWhitelist 的方法。

0 投票
1 回答
70 浏览

mysql - 我们可以在 mysql 组复制中使用 REPEATABLE-READ 隔离级别吗?

我正在查看组复制限制中的 Mysql Group Replication 参考手册(https://dev.mysql.com/doc/refman/8.0/en/group-replication-limitations.html)并且该手册已经说过

手册中关于间隙锁的内容

我在谷歌搜索过这个问题,但我只得到手册之类的信息。

因为我需要使用 RR 隔离级别。所以我想知道如果我在单主模型中使用Mysql Group Replication,它有问题吗?

如果它有问题,问题会是什么?

0 投票
0 回答
172 浏览

docker - 使用 swarm 解析容器 docker deploy 中的主机名

我用 swarm 部署了一些服务。当我 ping 相应容器内的服务标签时,它给出了 ifconfig 中不存在的 IP。

在我的 /etc/hosts 中,我只有 docker 生成的自动名称。在 swarm 中,我不能在 docker-compose 中使用“名称”选项。

我尝试配置 mysql 组复制并验证节点名称是否与节点容器的 ip 匹配。

我找到了很多关于此的帖子,但我没有找到明确的方法。

你可以帮帮我吗 ?

0 投票
1 回答
901 浏览

mysql - 无法启动实例“xxxxx:3306”的组复制?

我正在尝试在 mysql 上进行 innodb 集群安装,但它一直显示此错误消息:

2019-11-13T18:39:04.599509Z 15 [错误] [MY-011640] [Repl] 插件 group_replication 报告:“加入组后等待查看超时”2019-11-13T18:39:04.599604Z 15 [错误] [MY-011735] [Repl] 插件 group_replication 报告:“[GCS] 成员正在离开一个组而没有加入。” 2019-11-13T18:58:09.097406Z 0 [系统] [MY-010910] [服务器] /usr/sbin/mysqld:关闭完成 (mysqld 8.0.18) MySQL 社区服务器 - GPL。2019-11-13T18:58:09.513421Z 0 [系统] [MY-010116] [服务器] /usr/sbin/mysqld (mysqld 8.0.18) 从进程 11847 开始 2019-11-13T18:58:09.869423Z 0 [错误] [MY-013180] [服务器] 函数 'group_replication' 已经存在。2019-11-13T18:58:09.869563Z 0 [警告] [MY-010736] [服务器] 无法使用 soname 'group_replication 加载名为 'group_replication' 的插件。所以'。2019-11-13T18:58:09.954250Z 0 [警告] [MY-010068] [服务器] CA 证书 ca.pem 是自签名的。2019-11-13T18:58:09.980142Z 0 [警告] [MY-010604] [回复] 既没有使用 --relay-log 也没有使用 --relay-log-index;因此,当此 MySQL 服务器充当从属服务器并更改其主机名时,复制可能会中断!请使用 '--relay-log=inmbz7200-relay-bin' 来避免这个问题。2019-11-13T18:58:09.986045Z 0 [系统] [MY-010931] [服务器] /usr/sbin/mysqld:准备连接。版本:'8.0.18' 套接字:'/var/lib/mysql/mysql.sock' 端口:3306 MySQL 社区服务器 - GPL。因此,当此 MySQL 服务器充当从属服务器并更改其主机名时,复制可能会中断!请使用 '--relay-log=inmbz7200-relay-bin' 来避免这个问题。2019-11-13T18:58:09.986045Z 0 [系统] [MY-010931] [服务器] /usr/sbin/mysqld:准备连接。版本:'8.0.18' 套接字:'/var/lib/mysql/mysql.sock' 端口:3306 MySQL 社区服务器 - GPL。因此,当此 MySQL 服务器充当从属服务器并更改其主机名时,复制可能会中断!请使用 '--relay-log=inmbz7200-relay-bin' 来避免这个问题。2019-11-13T18:58:09.986045Z 0 [系统] [MY-010931] [服务器] /usr/sbin/mysqld:准备连接。版本:'8.0.18' 套接字:'/var/lib/mysql/mysql.sock' 端口:3306 MySQL 社区服务器 - GPL。

0 投票
1 回答
284 浏览

mysql - MySQL 8.0.16 (Windows) 组复制新设置:无法添加第二个成员

我正在尝试使用组复制功能设置 MySQL HA。来自https://dev.mysql.com/doc/refman/8.0/en/group-replication.html的参考说明。多次阅读并尝试所有步骤,以确保正确执行所有步骤,但始终显示相同的信息。问题解决后,我还将添加第 3 和第 4 个节点。在 Windows 上完成此设置后,我将在 Linux 上重复,然后是生产 (Linux)

在组中添加第二个成员时出现错误日志

一个)

B) 第二个 MySQL 数据库服务器的服务器日志

C) 第一个 MySQL 数据库服务器的服务器日志