我正在尝试在 MySQL 5.7.21 上启用 MySQL 组复制插件,根据文档 ( https://dev.mysql.com/doc/refman/5.7/en/group-replication.html),该插件应该在 5.7 中可用)
$ mysql --version
mysql Ver 14.14 Distrib 5.7.21, for Linux (x86_64) using EditLine wrapper
Run Code Online (Sandbox Code Playgroud)
当我尝试通过 MySQL 启用插件时:
$ mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
ERROR 1126 (HY000): Can't open shared library '/usr/lib/mysql/plugin/group_replication.so' (errno: 2 /usr/lib/mysql/plugin/group_replication.so: cannot open shared object file: No such file or directory)
Run Code Online (Sandbox Code Playgroud)
我的插件在 MySQL 中的输出:
$ mysql> SHOW PLUGINS;
+----------------------------+----------+--------------------+---------+---------+
| Name | Status | Type | Library | License |
+----------------------------+----------+--------------------+---------+---------+
| binlog | ACTIVE …Run Code Online (Sandbox Code Playgroud) 设置:
问题:
以下命令将不会运行。我可以创建用户和数据库并删除数据库,但不能删除用户。我不知道是复制问题还是权限问题。
第 1 行的 ERROR 3098 (HY000):该表不符合外部插件的要求。
日志:[错误] 插件 group_replication 报告:'表用户不使用 InnoDB 存储引擎。这与组复制不兼容。
我也通过本地 mysql 控制台以 root 身份登录得到同样的错误。
问题):
所以我在 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)