監控發現公司一台MySQL 8.0.26 的錯誤日志中出現大量下面告警信息:
[Warning] [MY-013712] [Server] No suitable 'keyring_component_metadata_query' service implementation found to fulfill the request.
搜索資料發現,其實這個是一個Bug來着(詳情見參考資料的鏈接),如果MySQL實例沒有任何MySQL keyring組件的話,就可能遇到這個Bug
[13 May 12:43] Marcelo Altmann
Description:
I
If your server is started without any keyring component, querying performance_schema.keyring_component_status logs an warning to the error log:
2021-05-13T12:06:03.625555Z 112 [Warning] [MY-013712] [Server] No suitable 'keyring_component_metadata_query' service implementation found to fulfill the request.
How to repeat:
Start MySQL without any keyring component and log verbosity = 3.
Run: SELECT * FROM performance_schema.keyring_component_status;
[13 May 12:50] MySQL Verification Team
Hello Marcelo,
Thank you for the report and feedback.
regards,
Umesh
[26 Aug 16:27] Marcelo Altmann
Patch generated based on tag mysql-8.0.26
(*) I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.
Contribution: bug_103684.patch (application/octet-stream, text), 824 bytes.
[27 Aug 14:00] MySQL Verification Team
Thank you for your contribution.
regards,
Umesh
檢查驗證,確實沒有任何mysql keyring組件
mysql> SELECT * FROM performance_schema.keyring_component_status;
Empty set (0.00 sec)
mysql>
bug_103684.patch資料如下
diff --git a/sql/server_component/mysql_server_keyring_lockable_imp.cc b/sql/server_component/mysql_server_keyring_lockable_imp.cc
index 9c94d2ee8c5..7b6eb414e7d 100644
--- a/sql/server_component/mysql_server_keyring_lockable_imp.cc
+++ b/sql/server_component/mysql_server_keyring_lockable_imp.cc
@@ -391,7 +391,8 @@ DEFINE_BOOL_METHOD(Keyring_metadata_query_service_impl::is_initialized, ()) {
DEFINE_BOOL_METHOD(Keyring_metadata_query_service_impl::init,
(my_h_keyring_component_metadata_iterator *
metadata_iterator)) {
- if (check_service(internal_keyring_component_metadata_query,
+ if (internal_keyring_component_metadata_query == nullptr ||
+ check_service(internal_keyring_component_metadata_query,
COMPONENT_METADATA_QUERY))
return true;
參考資料:
https://bugs.mysql.com/bug.php?id=103684
https://dev.mysql.com/doc/dev/mysql-server/latest/group__group__keyring__component__services__inventory.html