Mysql

為什麼我的組複製外掛在 MySQL 5.7.24 中失敗?

  • June 15, 2020

在 5.7.24 之前,我一直在將 group_replication 外掛與 MySQL 一起使用,沒有問題。使用此版本,伺服器會因故障而在沒有外掛的情況下啟動。我手動確認了它(請參見下面的步驟),它絕對是它不能使用的新版本。我會考慮自己檢查文件,但二進製文件並沒有提供太多黑客攻擊的機會。

外掛源背景:由於它不包含在 mysql-server 中,但有據可查,我是從社區版獲得的。

作業系統:Ubuntu 16.04.3 LTS(Xenial Xerus)

重現步驟:

  1. 有 /usr/lib/mysql/plugin/group_replication.so
  2. 驗證版本是 5.7.23
$ mysql --version
mysql  Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using  EditLine wrapper
  1. 5.7.23 安裝外掛成功
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
Query OK, 0 rows affected (1 min 1.16 sec)
  1. 升級到 5.7.24(解除安裝與 5.7.23 相關的所有內容,確保已載入):
dpkg -l | grep mysql
apt-get remove libmysqlclient20:amd64 mysql-client-core-5.7 mysql-common mysql-server
apt-get install mysql-server
$ mysql --version
mysql  Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper
  1. 見證外掛無法在 5.7.24 中載入:
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: undefined symbol: _Z25group_replication_cleanupv)

知道我能做些什麼來修復它,所以我可以恢復複製嗎?

作為一種解決方法,我設法通過從最新的 MySQL 社區版重新獲取外掛來載入它。這很可能在某個時候再次中斷。

我將其標記為已關閉,因為原因是與特定版本不兼容,除了希望它包含在預設 MySQL 版本中之外,沒有什麼可做的。希望這對其他人有用。

引用自:https://dba.stackexchange.com/questions/220924