当时我在mysql shell中输入:
安装插件 group_replication SONAME 'group_replication.so';
shell 返回:
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)
而实际上里面并没有group_replication.so:
ls /usr/lib/mysql/插件/
adtnull.so connectioncontrol.so keyringfile.so lockingservice.so mysqlnologin.so semisyncmaster.so validatepassword.so
authsocket.so innodbengine.so libmemcached.so mypluglib.so rewriter.so semisyncslave.so versiontoken.so
目前我拥有 5.7.20 版本的 mysql-server。
其他论坛上只说必须有 group_replication.so 模块,但我在 digitalOcean 上的服务器中,存储库没有该模块。我需要从外部安装它吗?还是安装旧版本?或者我该怎么做?
答案1
我在 Digital Ocean 上提出了一个问题,HuyCTNguyen 给出了答案:
我认为你得到错误是因为你只使用“apt-get install mysql-server”安装mysql,但在此之前。你必须执行步骤“添加MySQL软件存储库”,请关注此帖子了解详细信息“https://www.digitalocean.com/community/tutorials/how-to-install-the-latest-mysql-on-ubuntu-16-04“
由于时间原因,我没有测试答案,我使用了简单的复制主从。
但也许这对任何人来说都是有用的,并且这个答案是有意义的。
答案2
补充一点背景信息,组复制似乎没有包含在标准企业 MySQL 服务器中。而是通过 MySQL 社区版提供。
这里有关于这个问题的更多细节: https://stackoverflow.com/questions/46535713/mysql-group-replication-plugin-not-found-in-version-5-7-19-5-7-21