所以我在 docker 上有一个由 3 个 mysql 实例组成的 mysql innodb 集群,它总是失败,并出现错误组复制未激活。
查看错误日志,我唯一能找到的是这个警告:
Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=f3353ca0124a-relay-bin' to avoid this problem
Run Code Online (Sandbox Code Playgroud)
我在特定的 mysql 实例“f3353ca0124a”上尝试以下查询
show variables like '%relay_log%';
Run Code Online (Sandbox Code Playgroud)
我发现
+---------------------------+---------------------------------------------+
| Variable_name | Value |
+---------------------------+---------------------------------------------+
| max_relay_log_size | 0 |
| relay_log | f3353ca0124a-relay-bin |
| relay_log_basename | /var/lib/mysql/f3353ca0124a-relay-bin |
| relay_log_index | /var/lib/mysql/f3353ca0124a-relay-bin.index |
| relay_log_info_file | relay-log.info …Run Code Online (Sandbox Code Playgroud) 我们的环境之一中有一个 MySQL innodb 集群。集群中的一个节点崩溃了。但是,我们能够使崩溃的节点联机,但无法将其加入集群。
有人可以帮助恢复/恢复节点并将其加入集群。我们尝试使用“dba.rebootClusterFromCompleteOutage()”,但没有帮助。
配置:MySQL 5.7.24社区版,CentOS 7,标准三节点innodb集群
集群状态:
MySQL NODE02:3306 ssl JS > var c=dba.getCluster()
MySQL NODE02:3306 ssl JS > c.status()
{
"clusterName": "QACluster",
"defaultReplicaSet": {
"name": "default",
"primary": "NODE03:3306",
"ssl": "REQUIRED",
"status": "OK_NO_TOLERANCE",
"statusText": "Cluster is NOT tolerant to any failures. 1 member is not active",
"topology": {
"NODE02:3306": {
"address": "NODE02:3306",
"mode": "R/O",
"readReplicas": {},
"role": "HA",
"status": "ONLINE"
},
"NODE03:3306": {
"address": "NODE03:3306",
"mode": "R/W",
"readReplicas": {},
"role": "HA",
"status": "ONLINE"
},
"NODE01:3306": {
"address": "NODE01:3306", …Run Code Online (Sandbox Code Playgroud)