diff --git a/cmake/protobuf.cmake b/cmake/protobuf.cmake
index 8c6db02097e..c529f2975d5 100644
--- a/cmake/protobuf.cmake
+++ b/cmake/protobuf.cmake
@@ -121,7 +121,10 @@ MACRO(MYSQL_CHECK_PROTOBUF)
   IF(WITH_PROTOBUF STREQUAL "bundled")
     MYSQL_USE_BUNDLED_PROTOBUF()
   ELSE()
+    FIND_PACKAGE(protobuf CONFIG)
     FIND_PACKAGE(Protobuf)
+    set(PROTOBUF_LIBRARY protobuf::libprotobuf)
+    set(PROTOBUF_LITE_LIBRARY protobuf::libprotobuf-lite)
   ENDIF()
 
   IF(NOT PROTOBUF_FOUND)
diff --git a/plugin/x/tests/driver/connector/connection_manager.cc b/plugin/x/tests/driver/connector/connection_manager.cc
index bf411893641..02df9c245c7 100644
--- a/plugin/x/tests/driver/connector/connection_manager.cc
+++ b/plugin/x/tests/driver/connector/connection_manager.cc
@@ -33,8 +33,6 @@
 
 #include "plugin/x/tests/driver/processor/variable_names.h"
 
-google::protobuf::LogHandler *g_lh = nullptr;
-
 Connection_manager::Connection_manager(const Connection_options &co,
                                        Variable_container *variables,
                                        const Console &console_with_flow_history,
@@ -43,14 +41,6 @@ Connection_manager::Connection_manager(const Connection_options &co,
       m_variables(variables),
       m_console_with_flow_history(console_with_flow_history),
       m_console(console) {
-  g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level,
-                                            const char *filename, int line,
-                                            const std::string &message) {
-    if (g_lh) g_lh(level, filename, line, message);
-    DBUG_LOG("debug",
-             "Protobuf error (level:" << level << ", filename:" << filename
-                                      << ":" << line << ", text:" << message);
-  });
   m_variables->make_special_variable(
       k_variable_option_user,
       new Variable_dynamic_string(m_default_connection_options.user));