您好,登錄后才能下訂單哦!
MySQL5.7集群MGR啟動報ERROR 3092 (HY000)該怎么辦,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
MySQL5.7版本MGR啟動時報:
ERROR 3092 (HY000): The server is not configured properly to be an active member of the group. Please see more details on error log.
查看告警日志:
2020-03-04T07:48:58.797180Z 574478 [Warning] Plugin group_replication reported: '[GCS] Automatically adding IPv4 localhost address to the whitelist. It is mandatory that it is added.'2020-03-04T07:48:58.844857Z 574714 [ERROR] Slave SQL for channel 'group_replication_applier': Error 'This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its d eclaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)' on query. Default database: ''. Query: 'CREATE DEFINER=`root`@`192.168.187.%` FUNCTION `GetDistance`(`lat1` float,`lng1` float,`lat2` float,`lng2` float) RETURNS floatbegin DECLARE earth_padius float DEFAULT 6378.137; DECLARE radLat1 float DEFAULT 0; DECLARE radLat2 float DEFAULT 0; DECLARE a float DEFAULT 0; DECLARE b float DEFAULT 0; DECLARE s float DEFAULT 0; set radLat1 = Radian(lat1); set radLat2 = Radian(lat2); set a = radLat1 - radLat2; set b = Radian(lng1) - Radian(lng2); set s = 2 * Asin(Sqrt(power(sin(a / 2), 2) + cos(radLat1) * cos(radLat2) * power(sin(b / 2), 2))); set s = s * earth_padius; set s = Round(s * 10000) / 10000; re 2020-03-04T07:48:58.844919Z 574714 [Warning] Slave: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *mi ght* want to use the less safe log_bin_trust_function_creators variable) Error_code: 14182020-03-04T07:48:58.844938Z 574714 [ERROR] Plugin group_replication reported: 'The applier thread execution was aborted. Unable to process more transactions, this member will n ow leave the group.'2020-03-04T07:48:58.844963Z 574714 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at lo g 'FIRST' position 0.2020-03-04T07:48:58.844984Z 574711 [ERROR] Plugin group_replication reported: 'Fatal error during execution on the Applier process of Group Replication. The server will now lea ve the group.'2020-03-04T07:48:58.845030Z 574711 [ERROR] Plugin group_replication reported: '[GCS] The member is already leaving or joining a group.' 2020-03-04T07:48:58.845073Z 574711 [ERROR] Plugin group_replication reported: 'Unable to confirm whether the server has left the group or not. Check performance_schema.replicat ion_group_members to check group membership information.'2020-03-04T07:49:03.586818Z 0 [ERROR] Plugin group_replication reported: 'There was a previous plugin error while the member joined the group. The member will now exit the grou p.'2020-03-04T07:57:00.047106Z 574478 [Warning] Plugin group_replication reported: '[GCS] Automatically adding IPv4 localhost address to the whitelist. It is mandatory that it is added.'2020-03-04T07:57:01.992027Z 575211 [Warning] Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Pleas e consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
從監控告警日志內容可以看出來,是由于函數操作不符合規范造成的MGR集群掉線,具體日志描述如下:
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *mi
ght* want to use the less safe log_bin_trust_function_creators variable) Error_code: 1418
遇到這種問題可以從兩個方面去解決。第一種方法就是開發人員按照規范創建符合標準的函數;第二種方法就是配置數據庫參數,將log_bin_trust_function_creators配置為開啟。
此處,開發人員也是選擇了將log_bin_trust_function_creators參數配置為開啟,但是在一個節點開啟了,其他節點未開啟,最終導致其他節點出現上述錯誤信息。
以下是部分處理過程,僅供參考:
mysql> select * from performance_schema.replication_group_members; +---------------------------+--------------------------------------+-------------+-------------+--------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ | group_replication_applier | 48713421-9261-11e9-9799-005056851cf9 | db2 | 3306 | ERROR | +---------------------------+--------------------------------------+-------------+-------------+--------------+ 1 row in set (0.00 sec) mysql> mysql> mysql> mysql> stop group_replication; Query OK, 0 rows affected (1.01 sec) mysql> start group_replication; ERROR 3092 (HY000): The server is not configured properly to be an active member of the group. Please see more details on error log. mysql> show variables like '%func%'; +---------------------------------+-------+ | Variable_name | Value | +---------------------------------+-------+ | log_bin_trust_function_creators | OFF | +---------------------------------+-------+ 1 row in set (0.01 sec) mysql> mysql> mysql> set global log_bin_trust_function_creators=1; Query OK, 0 rows affected (0.00 sec) mysql> show variables like '%func%'; +---------------------------------+-------+ | Variable_name | Value | +---------------------------------+-------+ | log_bin_trust_function_creators | ON | +---------------------------------+-------+ 1 row in set (0.00 sec) mysql> mysql> mysql> stop group_replication; Query OK, 0 rows affected (0.00 sec) mysql> start group_replication; Query OK, 0 rows affected (2.90 sec) mysql> select * from performance_schema.replication_group_members; +---------------------------+--------------------------------------+-------------+-------------+--------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ | group_replication_applier | 2ff8ea98-9128-11e9-91dd-0819a62578bd | db1 | 3306 | ONLINE | | group_replication_applier | 48713421-9261-11e9-9799-005056851cf9 | db2 | 3306 | ONLINE | | group_replication_applier | 9c245a8c-9262-11e9-82d6-005056853a0e | db3 | 3306 | ONLINE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ 3 rows in set (0.00 sec) mysql>
關于MySQL5.7集群MGR啟動報ERROR 3092 (HY000)該怎么辦問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。