问题标签 [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.
mysql - 具有多个引导的 MySQL 组复制多主模式
我在不同的位置有 7 台 MySQL 服务器。所有服务器具有相同结构的相同数据库。所有表都使用基于 UUID 的主键进行结构化。(没有自动增量值)。
1(中央)服务器始终连接到网络。(互联网)所有其他 6 台服务器可以随时与网络连接/断开连接。
所有 6 台服务器必须能够在未连接到 Internet 时单独(读/写)和本地工作。
当网络连接时,它们必须相互复制。
一旦所有数据库完全复制,所有数据库必须具有相同的数据内容。(包括主服务器)
我刚刚在这里提到了 1 台服务器作为主服务器。(但没有任何主服务器)。它是主服务器,当所有其他 6 台都没有连接时,因为总部使用它来查询过去的报告。
我已阅读有关 MySQL 组复制(多主模式)的信息。是否可以在我的要求中使用它。如果有人已经有这种经验,请告诉我。
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];该表不符合外部插件的要求。嵌套异常是
显示创建表:
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”,但结果是一样的......
任何人都可以阐明它吗?任何帮助表示赞赏。
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)
mysql - MySQL 5.7 innoDB 集群中的一个节点崩溃,无法将崩溃的节点重新加入集群
我们在其中一个环境中有一个 MySQL innodb 集群。集群中的一个节点崩溃了。虽然,我们能够使崩溃的节点联机,但我们无法将其加入集群。
有人可以帮助恢复/恢复节点并将其加入集群。我们尝试使用“dba.rebootClusterFromCompleteOutage()”,但没有帮助。
配置:MySQL 5.7.24社区版,CentOS 7,标准三节点innodb集群
集群状态:
mysql错误日志中记录的错误:
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 的方法。
mysql - 我们可以在 mysql 组复制中使用 REPEATABLE-READ 隔离级别吗?
我正在查看组复制限制中的 Mysql Group Replication 参考手册(https://dev.mysql.com/doc/refman/8.0/en/group-replication-limitations.html)并且该手册已经说过
我在谷歌搜索过这个问题,但我只得到手册之类的信息。
因为我需要使用 RR 隔离级别。所以我想知道如果我在单主模型中使用Mysql Group Replication,它有问题吗?
如果它有问题,问题会是什么?
docker - 使用 swarm 解析容器 docker deploy 中的主机名
我用 swarm 部署了一些服务。当我 ping 相应容器内的服务标签时,它给出了 ifconfig 中不存在的 IP。
在我的 /etc/hosts 中,我只有 docker 生成的自动名称。在 swarm 中,我不能在 docker-compose 中使用“名称”选项。
我尝试配置 mysql 组复制并验证节点名称是否与节点容器的 ip 匹配。
我找到了很多关于此的帖子,但我没有找到明确的方法。
你可以帮帮我吗 ?
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。
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 数据库服务器的服务器日志