Data Services Manager: MySQL database testing using Sysbench results with error, "FATAL: unable to connect to MySQL server on host '<IP_Address>', port 3306, aborting..."
search cancel

Data Services Manager: MySQL database testing using Sysbench results with error, "FATAL: unable to connect to MySQL server on host '<IP_Address>', port 3306, aborting..."

book

Article ID: 430946

calendar_today

Updated On:

Products

VMware Data Services Manager

Issue/Introduction

  • MySQL Workbench shows "Server Status Stopped" after trying to run the following table / row creation test (example workflow of 2 million rows with 10 concurrent connections/threads for 3 seconds):

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=<IP_Address> --mysql-port=3306 --mysql-user=mysql-admin --mysql-password=xxxx --mysql-db=mysqldbname --table_size=100000 --tables=20 --threads=10 prepare

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=<IP_Address> --mysql-port=3306 --mysql-user=mysql-admin --mysql-password=xxxx --mysql-db=mysql2db2 --table_size=100000 --tables=20--threads=10 --time=180 --report-interval=10 run

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=<IP_Address> --mysql-port=3306 --mysql-user=mysql-admin --mysql-password=xxxx --mysql-db=mysql2db2 --table_size=100000 --tables=20 --threads=10 cleanup

  • The failure errors include:

FATAL: unable to connect to MySQL server on host '<IP_Address>', port 3306, aborting...
FATAL: error 2003: Can't connect to MySQL server on '<IP_Address>:3306' (111)

Cause

  • Heavy write load from testing and its propagation to replicas results in large amounts of memory consumption for replication buffers.

In the MySQL DB instance log file, you may notice the following:

<mysqldbname>/dataservices/development/MySQLCluster/sudo-kubectl---kubeconfig--etc-kubernetes-admin-conf-get-sts-pod-svc-pv-pvc-serviceaccount--A--oyaml---show-managed-fields.txt :

Grep for "OOM":

Example:

grep -B8 OOM ./<mysqldbname>/dataservices/development/MySQLCluster/sudo-kubectl---kubeconfig--etc-kubernetes-admin-conf-get-sts-pod-svc-pv-pvc-serviceaccount--A--oyaml---show-managed-fields.txt
    - containerID: containerd://######################################################
      image: /dsm/mysql-instance:9.0.2-0-20251128T1405Z-4beef2e-mysql-8.4.6
      imageID: /dsm/mysql-instance@sha256:############################################################
      lastState:
        terminated: <-------
          containerID: containerd://######################################################
          exitCode: 137
          finishedAt: "2026-02-17T07:36:24Z"
          reason: OOMKilled  <-------

Resolution

  • Import the attached YAML file through the DSM GUI for the same MySQL database instance where the Sysbench test is being run.
  • The YAML configuration applies MySQL overrides that tune the InnoDB buffer pool and MySQL Group Replication settings, including message sizing, flow control, and message cache limits. These settings help control replication queue growth and reduce replication-related memory spikes during Sysbench performance testing.
  • This can help prevent the MySQL container from exceeding its Kubernetes memory limit and being terminated with an OOMKilled event.

Note: The attached YAML is provided as an example only. Review and adjust the memory, cache, and flow-control values based on the database size, Sysbench workload profile, and container memory limits in your environment.

Attachments

limit-repl-mem-med-restrictive.yaml get_app