Mysql
為什麼我的組複製外掛在 MySQL 5.7.24 中失敗?
在 5.7.24 之前,我一直在將 group_replication 外掛與 MySQL 一起使用,沒有問題。使用此版本,伺服器會因故障而在沒有外掛的情況下啟動。我手動確認了它(請參見下面的步驟),它絕對是它不能使用的新版本。我會考慮自己檢查文件,但二進製文件並沒有提供太多黑客攻擊的機會。
外掛源背景:由於它不包含在 mysql-server 中,但有據可查,我是從社區版獲得的。
作業系統:Ubuntu 16.04.3 LTS(Xenial Xerus)
重現步驟:
- 有 /usr/lib/mysql/plugin/group_replication.so
- 驗證版本是 5.7.23
$ mysql --version mysql Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using EditLine wrapper
- 5.7.23 安裝外掛成功
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so'; Query OK, 0 rows affected (1 min 1.16 sec)
- 升級到 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
- 見證外掛無法在 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 版本中之外,沒有什麼可做的。希望這對其他人有用。