From a4108e8fbaba53128fc22ce325846748de939523 Mon Sep 17 00:00:00 2001
From: Jens <jens-gitlab@spamfreemail.de>
Date: Mon, 29 Aug 2022 13:17:15 +0000
Subject: [PATCH] Avoid syslog errors about "Aborted connections".

Patch taken from https://forum.howtoforge.com/threads/monitoring-mysql-mariadb-annoying-aborted-connection-on-var-log-mysql-error-log-hack.89045/
---
 server/lib/classes/monitor_tools.inc.php | 25 ++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index 5d91bf5ac..bb0124a26 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -470,16 +470,21 @@ class monitor_tools {
 			}
 		}
 
-		/* Monitor MySQL Server */
-		$data['mysqlserver'] = -1; // unknown - not needed
-		if ($services['db_server'] == 1) {
-                       if ($this->_checkTcp($conf['db_host'], $conf['db_port'])) {
-				$data['mysqlserver'] = 1;
-			} else {
-				$data['mysqlserver'] = 0;
-				$state = 'error'; // because service is down
-			}
-		}
+        /* Monitor MySQL Server */
+        $data['mysqlserver'] = -1; // unknown - not needed
+        if ($services['db_server'] == 1) {
+            // hail MySQL server:
+            mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
+            $ispcDB = mysqli_connect($conf['db_host'], $conf['db_user'], $conf['db_password'], $conf['db_database'], $conf['db_port']);
+            if ($ispcDB !== false) {
+                $data['mysqlserver'] = 1;
+            } else {
+                $data['mysqlserver'] = 0;
+                $state = 'error'; // because service is down
+            }
+            mysqli_close($ispcDB);  // we can ignore the result (gwyneth 20220605)
+        }
+		
 /*
 		$data['mongodbserver'] = -1;
 		if ($this->_checkTcp('localhost', 27017)) {
-- 
GitLab