blog
From MEM to Automation: Managing MySQL Enterprise with ClusterControl

When Oracle announced the deprecation of MySQL Enterprise Monitor (MEM), many organizations running MySQL Enterprise Server suddenly faced a gap in their operations stack. MEM had long been part of the Enterprise subscription, providing monitoring and limited automation. Now, DBAs and DevOps teams must look elsewhere for visibility and control.
The good news? Moving away from MEM can be an upgrade. It gives you freedom to choose tools that are more flexible, more integrated, and in many cases more powerful. One of those tools is ClusterControl, available in Community (free), Self-Serve, Advanced, and Enterprise editions.
In this post, we’ll walk through what it looks like to manage MySQL Enterprise 8.4 with ClusterControl — from preparing your environment, to deploying a replication cluster, to enabling Enterprise-only features. Along the way, we’ll highlight what ClusterControl takes care of automatically, where manual steps are still required, and how it compares to MEM.
Preparing the Environment
Before diving into deployment, you’ll want to get a few basics in place:
- A ClusterControl server must be installed and running in your environment. Instructions for installation can be found here.
- Configure SSH key-based authentication for a sudo or root user from the ClusterControl server to all database nodes.
- All servers should have NTP installed and running, with the same timezone configured.
- You must have access to download MySQL Enterprise packages from the Oracle Cloud Software Delivery portal.
For this walkthrough, we’ll use an Ubuntu 24.04 LTS environment with three MySQL Enterprise servers running in a semi-synchronous replication setup (one primary, two replicas) as illustrated in the diagram below:

With prerequisites in place, the first step is to install the Enterprise binaries manually, followed by deployment using ClusterControl.
Installing and Deploying MySQL Enterprise with ClusterControl
ClusterControl cannot access Oracle’s private repository directly, so we first install the MySQL Enterprise binaries manually. After downloading and unzipping the zip files from the Oracle portal, focus on the core packages (server, client, backup, router, and shell). Debug and test packages can be skipped.
apt update
apt install unzip sysstat net-tools -y
# example install
apt install ./libmysqlclient24_8.4.6+commercial-1ubuntu22.04_amd64.deb \
./mysql-commercial-backup_8.4.6+commercial-1ubuntu22.04_amd64.deb \
./mysql-commercial-client_8.4.6+commercial-1ubuntu22.04_amd64.deb \
./mysql-commercial-server_8.4.6+commercial-1ubuntu22.04_amd64.deb \
./mysql-router-commercial_8.4.6+commercial-1ubuntu22.04_amd64.deb \
./mysql-shell-commercial_8.4.6+commercial-1ubuntu22.04_amd64.deb \
./mysql-common_8.4.6+commercial-1ubuntu22.04_amd64.deb
Repeat these steps on each node. The package manager will configure and start MySQL automatically, but before deploying via ClusterControl, stop the service:
systemctl stop mysql
ClusterControl needs passwordless SSH access to manage the database nodes. From the ClusterControl server, configure key-based authentication as root:
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
With binaries installed, MySQL services stopped, and SSH connectivity in place, you’re ready to move on to deployment.
Deploying MySQL Enterprise
We can then go to ClusterControl and use the Deploy a cluster wizard to initiate the deployment. Log into the ClusterControl GUI and click on Deploy a cluster. Then choose Database: MySQL, Vendor: Oracle, and Version 8.4, and do not forget to toggle off Install software, as shown below:

Click Continue and configure the MySQL configuration accordingly. In the Add nodes tab, specify the primary and replica nodes’ IP addresses or hostnames, and wait until everything is green, as shown below:

Continue to the Preview page and click Finish to start the deployment. ClusterControl will configure MySQL replication using the MySQL Enterprise binaries that we installed earlier. You can monitor the job logs until it finishes, as shown below:

At this point, ClusterControl has deployed a MySQL Enterprise replication cluster, and you can see it from the Cluster list page or the Home page.
Enabling MySQL Enterprise Features
The main distinction between MySQL Community and Enterprise editions lies in the latter’s inclusion of numerous enterprise plugins and components. These enhancements elevate the MySQL server’s capabilities in areas such as security, compliance, scalability, and interoperability with external authentication tools.
MySQL Enterprise 8.4 offers the following enterprise plugins:
- Enterprise Audit
- Enterprise Firewall
- Enterprise Encryption
- Enterprise Masking and De-identification
- Transparent Data Encryption
- Rewriter
- Authentication plugins for PAM/LDAP/Kerberos/Windows external authentication
- Enterprise Thread Pool
For instructions on installing these enterprise plugins, please consult the MySQL Enterprise Edition documentation page.
Example: Thread Pool
[mysqld]
plugin-load-add=thread_pool.so
The above requires a MySQL restart. Restart MySQL on all the replica nodes first, then on the primary node. This should be a very brief downtime, which will not trigger a failover.
Example: Audit and Enterprise Firewall
$ mysql -u root -p -D mysql < /usr/share/mysql-8.4/audit_log_filter_linux_install.sql
$ mysql -u root -p -D mysql < /usr/share/mysql-8.4/linux_install_firewall.sql
Verify using the SHOW PLUGINS statement. You can then use ClusterControl’s DB Variables or DB Status feature to oversee the entire configuration parameters, and use the ClusterControl’s Manage -> Configuration feature to manage and configure the plugins from now on.
Day-to-day management
In a MySQL Replication setup, the read_only
and super_read_only
variables are crucial for identifying the primary node in the replication chain. This allows load balancers to accurately direct database connections based on query types. ClusterControl automatically manages the read-only flag by default. However, if you prefer to handle this manually, you can disable automatic management by setting the auto_manage_readonly
flag to false
in your ClusterControl settings for that specific cluster, as shown below:

Once deployed, Here’s how ClusterControl simplifies ongoing operations;
- Replication control: promote replicas, rebuild replicas, change replication primary, manage read-only flags.
- Configuration management: change parameters live or persist in config files.
- User management: handle users and privileges across all nodes.
- Service management: restart, stop, or start MySQL services.
- Other ops: maintenance mode, web SSH, SSL/TLS certificate handling, host reboot.
Where manual work remains:
- Upgrades must be done manually (ClusterControl can’t access Oracle repos).
- Enterprise plugin management (firewall, masking, TDE, etc.) must still be configured by hand.
Backup and Restore for MySQL Enterprise
MySQL Enterprise Edition includes MySQL Enterprise Backup (MEB), a hot physical backup tool for InnoDB that facilitates full, incremental, partial, and optimistic backups and restores. ClusterControl does not manage it. Instead, it integrates with Percona XtraBackup (PXB).
For MySQL Enterprise 8.4, install PXB 8.4 on all nodes:
apt update
wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb
apt install -y gnupg2 lsb-release ./percona-release_latest.generic_all.deb
percona-release enable pxb-84-lts
apt install -y percona-xtrabackup-84
Once completed, you should be able to create or schedule a new backup under the Backups section:

With PXB in place, ClusterControl supports:
- Replica resync from backup
- Full & incremental backups
- PITR (point-in-time recovery)
- Cloud backup storage
- Backup verification
Monitoring for MySQL Enterprise
MySQL Enterprise Edition offers the same comprehensive monitoring capabilities as the MySQL Community server. The dashboards dynamically display crucial status information and components, adapting to the specific cluster type and topology:

You can also monitor the database status and variables for all the database nodes, as in this case, we are filtering out the Enterprise Audit variables from all the servers under the Performance -> DB Variables section:

ClusterControl adds deeper capabilities:
- Alerts and notifications (integrations with email, Slack, PagerDuty, ServiceNow, OpsGenie, and more)
- Topology visualizer
- Query monitor
- Host and load balancer monitoring
- Watchlists (kiosk dashboards)
Beyond MEM: What You Gain
ClusterControl is more than a MEM replacement — it expands operational automation significantly:
- Cluster Recovery: Facilitates primary and replica failover, switchover, replica promotion, and setting read-only flags for enhanced resilience.
- Operational Reports: Generate on-demand or scheduled reports covering availability, backups, database growth, schema changes, and other vital database cluster metrics.
- Load Balancer Integration: While MySQL Enterprise utilizes MySQL Router (configured via MySQL Shell), ClusterControl supports HAProxy and ProxySQL, both compatible with MySQL Enterprise Server as a backend. It also manages Keepalived for redundant load balancers and a single-address endpoint.
- Scaling: Enables the addition or removal of replicas and the creation of new clusters from backups.
- Alerts and Notifications: Configure alerts and notifications to be sent via email, Slack, Telegram, PagerDuty, ServiceNow, OpsGenie, VictorOps, ilert, and webhooks.
- Kubernetes Integration: ClusterControl can provision new database clusters within a Kubernetes environment using Kubernetes Operator.
Wrapping up
For MySQL Enterprise teams affected by MEM’s deprecation, ClusterControl offers a clear path forward. It combines deployment, monitoring, scaling, and failover automation with support for Enterprise binaries, while leaving specialized Oracle-only tools to be managed manually.
Rather than scrambling for a one-to-one MEM replacement, adopting ClusterControl gives DBAs and DevOps a strategic upgrade: more automation, more resilience, and a single pane of glass for managing MySQL Enterprise at scale.
Get started in minutes: Install ClusterControl directly from this post and streamline your MySQL Enterprise deployments with a free 30-day Enterprise trial.
ClusterControl Script Installation Instructions
The installer script is the simplest way to get ClusterControl up and running. Run it on your chosen host, and it will take care of installing all required packages and dependencies.
Offline environments are supported as well. See the Offline Installation guide for more details.
On the ClusterControl server, run the following commands:
wget https://severalnines.com/downloads/cmon/install-cc
chmod +x install-cc
With your install script ready, run the command below. Replace S9S_CMON_PASSWORD
and S9S_ROOT_PASSWORD
placeholders with your choice password, or remove the environment variables from the command to interactively set the passwords. If you have multiple network interface cards, assign one IP address for the HOST
variable in the command using HOST=<ip_address>
.
S9S_CMON_PASSWORD=<your_password> S9S_ROOT_PASSWORD=<your_password> HOST=<ip_address> ./install-cc # as root or sudo user
After the installation is complete, open a web browser, navigate to https://<ClusterControl_host>/
, and create the first admin user by entering a username (note that “admin” is reserved) and a password on the welcome page. Once you’re in, you can deploy a new database cluster or import an existing one.
The installer script supports a range of environment variables for advanced setup. You can define them using export or by prefixing the install command.
See the list of supported variables and example use cases to tailor your installation.
Other Installation Options
Helm Chart
Deploy ClusterControl on Kubernetes using our official Helm chart.
Ansible Role
Automate installation and configuration using our Ansible playbooks.
Puppet Module
Manage your ClusterControl deployment with the Puppet module.
ClusterControl on Marketplaces
Prefer to launch ClusterControl directly from the cloud? It’s available on these platforms: