MySQL Enterprise Edition is a commercial product. Like MySQL Community Edition, MySQL Enterprise Edition
includes MySQL Server, a fully integrated transaction-safe,
ACID-compliant database with full commit, rollback, crash-recovery,
and row-level locking capabilities. In addition, MySQL Enterprise Edition includes the
following components designed to provide monitoring and online
backup, as well as improved security and scalability:

The following sections briefly discuss each of these components and
indicate where to find more detailed information. To learn more
about commercial products, see https://www.mysql.com/products/.

25.1 MySQL Enterprise Monitor Overview

MySQL Enterprise Monitor is an enterprise monitoring system for MySQL that keeps
an eye on your MySQL servers, notifies you of potential issues and
problems, and advises you how to fix the issues. MySQL Enterprise Monitor can
monitor all kinds of configurations, from a single MySQL server
that is important to your business, all the way up to a huge farm
of MySQL servers powering a busy website.

The following discussion briefly summarizes the basic components
that make up the MySQL Enterprise Monitor product. For more information, see the
MySQL Enterprise Monitor manual, available at
https://dev.mysql.com/doc/mysql-monitor/en/.

MySQL Enterprise Monitor components can be installed in various configurations
depending on your database and network topology, to give you the
best combination of reliable and responsive monitoring data, with
minimal overhead on the database server machines. A typical
MySQL Enterprise Monitor installation consists of:

One or more MySQL servers to monitor. MySQL Enterprise Monitor can monitor
both Community and Enterprise MySQL server releases.

A MySQL Enterprise Monitor Agent for each monitored host.

A single MySQL Enterprise Service Manager, which collates information from the
agents and provides the user interface to the collected data.

MySQL Enterprise Monitor is designed to monitor one or more MySQL servers. The
monitoring information is collected by using an agent,
MySQL Enterprise Monitor Agent. The agent
communicates with the hosts and MySQL servers that it monitors,
collecting variables, status and health information, and sending
this information to the MySQL Enterprise Service Manager.

The information collected by the agent about each MySQL server and
host you are monitoring is sent to the
MySQL Enterprise Service Manager. This server
collates all of the information from the agents. As it collates
the information sent by the agents, the MySQL Enterprise Service Manager
continually tests the collected data, comparing the status of the
server to reasonable values. When thresholds are reached, the
server can trigger an event (including an alarm and notification)
to highlight a potential issue, such as low memory, high CPU
usage, or more complex conditions such insufficient buffer sizes
and status information. We call each test, with its associated
threshold value, a rule.

These rules, and the alarms and notifications, are each known as a
MySQL Enterprise Advisors. Advisors
form a critical part of the MySQL Enterprise Service Manager, as they provide
warning information and troubleshooting advice about potential
problems.

The MySQL Enterprise Service Manager includes a web server, and you interact with
it through any web browser. This interface, the MySQL Enterprise Monitor User Interface,
displays all of the information collected by the agents, and lets
you view all of your servers and their current status as a group
or individually. You control and configure all aspects of the
service using the MySQL Enterprise Monitor User Interface.

The information supplied by the MySQL Enterprise Monitor Agent processes also
includes statistical and query information, which you can view in
the form of graphs. For example, you can view aspects such as
server load, query numbers, or index usage information as a graph
over time. The graph lets you pinpoint problems or potential
issues on your server, and can help diagnose the impact from
database or external problems (such as external system or network
failure) by examining the data from a specific time interval.

The MySQL Enterprise Monitor Agent can also be configured to collect detailed
information about the queries executed on your server, including
the row counts and performance times for executing each query. You
can correlate the detailed query data with the graphical
information to identify which queries were executing when you
experienced a particularly high load, index or other issue. The
query data is supported by a system called Query Analyzer, and the
data can be presented in different ways depending on your needs.

25.2 MySQL Enterprise Backup Overview

MySQL Enterprise Backup performs hot backup operations for MySQL
databases. The product is architected for efficient and reliable
backups of tables created by the InnoDB storage engine. For
completeness, it can also back up tables from MyISAM and other
storage engines.

Hot backups are performed while the database is running and
applications are reading and writing to it. This type of backup
does not block normal database operations, and it captures even
changes that occur while the backup is happening. For these
reasons, hot backups are desirable when your database “grows
up” -- when the data is large enough that the backup takes
significant time, and when your data is important enough to your
business that you must capture every last change, without taking
your application, website, or web service offline.

MySQL Enterprise Backup does a hot backup of all tables that use
the InnoDB storage engine. For tables using MyISAM or other
non-InnoDB storage engines, it does a “warm” backup,
where the database continues to run, but those tables cannot be
modified while being backed up. For efficient backup operations,
you can designate InnoDB as the default storage engine for new
tables, or convert existing tables to use the InnoDB storage
engine.

25.3 MySQL Enterprise Security Overview

MySQL Enterprise Edition includes an authentication plugin that enables MySQL
Server to use PAM (Pluggable Authentication Modules) to
authenticate MySQL users. PAM enables a system to use a
standard interface to access various kinds of authentication
methods, such as Unix passwords or an LDAP directory. For more
information, see
Section 6.5.1.6, “PAM Pluggable Authentication”.

MySQL Enterprise Edition includes an authentication plugin that performs external
authentication on Windows, enabling MySQL Server to use native
Windows services to authenticate client connections. Users who
have logged in to Windows can connect from MySQL client
programs to the server based on the information in their
environment without specifying an additional password. For
more information, see
Section 6.5.1.7, “Windows Pluggable Authentication”.

MySQL Enterprise Edition includes a keyring plugin that uses Oracle Key Vault as
a back end for keyring storage. For more information, see
The MySQL Keyring.

25.4 MySQL Enterprise Encryption Overview

MySQL Enterprise Edition includes a set of encryption functions based on the OpenSSL
library that expose OpenSSL capabilities at the SQL level. These
functions enable Enterprise applications to perform the following
operations:

25.5 MySQL Enterprise Audit Overview

MySQL Enterprise Edition includes MySQL Enterprise Audit, implemented using a server plugin.
MySQL Enterprise Audit uses the open MySQL Audit API to enable standard,
policy-based monitoring and logging of connection and query
activity executed on specific MySQL servers. Designed to meet the
Oracle audit specification, MySQL Enterprise Audit provides an out of box, easy
to use auditing and compliance solution for applications that are
governed by both internal and external regulatory guidelines.

When installed, the audit plugin enables MySQL Server to produce a
log file containing an audit record of server activity. The log
contents include when clients connect and disconnect, and what
actions they perform while connected, such as which databases and
tables they access.

25.6 MySQL Enterprise Firewall Overview

MySQL Enterprise Edition includes MySQL Enterprise Firewall, an application-level firewall that enables
database administrators to permit or deny SQL statement execution
based on matching against whitelists of accepted statement
patterns. This helps harden MySQL Server against attacks such as
SQL injection or attempts to exploit applications by using them
outside of their legitimate query workload characteristics.

Each MySQL account registered with the firewall has its own
statement whitelist, enabling protection to be tailored per
account. For a given account, the firewall can operate in
recording or protecting mode, for training in the accepted
statement patterns or protection against unacceptable statements.