问题标签 [mysql-innodb-cluster]
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 - Ubuntu- MySQL InnoDB Cluster 服务(或)守护进程名称
MySQL - 在 Ubuntu 操作系统中,MySQL Innodb 集群用于复制数据的服务(或)守护进程名称是什么?
mysql - AWS DMS 无法将 SSL 必需模式与 MySQL 一起使用
我尝试使用 AWS DMS 将另一个云提供的 MySQL innodb 集群迁移到 AWS。我上传了 MySQL 生成的自签名 CA.pem,它不起作用。
AWSDatabaseMigrationService:CA 证书验证错误
DMS SSL 模式没有required
MySQL 选项。所以我被困住了...
我想知道在这种情况下我应该怎么做。我想到了两种解决方案。
- 替换 CA 和所有服务器证书,以便 DMS 可以使用它。不确定这是否有任何潜在风险。
- 自己启动另一个 EC2 复制实例。然后 RDS 可以复制 EC2 实例。(我无法在 RDS 中使用自动定位的原因是集群节点中没有一个拥有所有二进制日志)
AWS 论坛中的大部分主题都没有得到答复。我觉得在这里问比较好。
任何建议或想法都会很好。谢谢。
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 innodb 缓冲池中的日志条目 (MySQL 5.7)
长事务会在 undo log 中生成几个旧版本的行,这些行存储在 ibdata 文件中。undo log 条目是否也存储在 innodb 缓冲池中。
mysql - 在哪里可以找到 MySQL InnoDB 集群名称
当集群未运行时,我在哪里可以找到在 InnoDB 集群中创建的集群名称?
mysql - 死锁 BLOB INSERT MySQL 8.0 InnoDB 集群
将较大的文件插入配置了 InnoDB 集群复制的 MySQL 8.0 数据库时,查询会遇到表死锁。对于较小的 6 KB 文件,INSERT 有效。通过 MySQL 路由器运行以及通过直接连接到“R/W”主机运行 INSERT 时会出现问题。不太可能达到适当的交易限额。请参阅下面的 MySQL 设置。
桌子
测试文件 M-02-012.jpg 4.813KB => 死锁! M-05-055.jpg 6KB => 作品
命令
MySQL 设置输出
InnoDB 集群设置状态:
MySQL Shell 输出错误
测试用例:
对于没有InnoDB Cluster 配置的正常 MySQL 8.0 安装,INSERT 有效。
对于具有 InnoDB Cluster 配置但集群中只有一台主机的 MySQL 8.0,INSERT 也可以工作。
只有具有 InnoDB Cluster Configuration 和更多主机INSERT 的 MySQL 8.0 在死锁中运行。
我们忘记了设置还是这是一个错误?
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 - InnoDB Cluster addInstance:插件 group_replication 报告:“读取失败”
使用 5.7.25 运行 InnoDB 集群(计划很快迁移到 8.0) 我的两个实例由于网络问题离开了集群,剩下一个健康的节点。
我正在执行以下过程以将节点添加到集群,但失败并显示如下错误。
我究竟做错了什么 ?
注意:host1 是留在集群中的健康节点。host2 是加入的人
host1 上的程序:
- 放
super_read_only = ON
- 使用以下命令复制最后的 GTID:
select @@global.gtid_executed;
- 设置
super_read_only = OFF
(就在主机 2 上的第 3 步之前)
host2 上的程序:
- 停止mysql
- rsync 来自 host1 的 mysql 数据目录,使用:
rsync -Parvz --exclude="auto.cnf" --exclude="<host1>*" --exclude="binlog.*" <user>@<host1>:/mysql-data/* .
- 启动mysql
- 清除复制日志并设置 GTID 使用:
- 连接到 MySQL Shell 并将新节点 (host2) 添加到集群:
cluster.addInstance('root@host2:3306', {ipWhitelist: 'host1, host2'})
来自无法加入的新实例(host2)的日志: