This section describes the expression-based Administration Advisors.
Raises an event if a 32-bit binary is detected running on a 64-bit platform. Most 32-bit binaries can run on a 64-bit platform. However, for performance reasons, it is recommended to run 64-bit binaries on 64-bit platforms, and 32-bit binaries on 32-bit platforms.
Default frequency 06:00:00
Default auto-close enabled yes
The binary log captures DML, DDL, and security changes that occur and stores these changes in a binary format. The binary log enables point-in-time recovery, preventing data loss during a disaster recovery situation. It also enables you to review all alterations made to your database.
Binary log informational events are used for debugging and
related purposes. Informational events are enabled by setting
binlog_rows_query_log_events
to
TRUE
. By default, this advisor generates an
event if ROW or MIXED logging is enabled and
binlog_rows_query_log_events=FALSE
.
Binary log informational events were introduced in MySQL 5.6.2 and are not supported by earlier versions of MySQL.
Default frequency 06:00:00
Default auto-close enabled no
The binary log captures DML, DDL, and security changes that occur and stores these changes in a binary format. The binary log enables point-in-time recovery, preventing data loss during a disaster recovery situation. It also enables you to review all alterations made to your database.
Binary logging can be limited to specific databases with the
--binlog-do-db
and the
--binlog-ignore-db
options.
However, if these options are used, your point-in-time recovery
options are limited accordingly, along with your ability to
review alterations made to your system.
Default frequency 06:00:00
Default auto-close enabled yes
The binary log captures DML, DDL, and security changes and stores these changes in a binary format. The binary log enables point-in-time recovery, preventing data loss during a disaster recovery situation. It also enables you to review all alterations made to your database.
Default frequency 06:00:00
Default auto-close enabled yes
By default, the binary log contents are not synchronized to
disk. If the server host machine or operating system crash,
there is a chance that the latest events in the binary log are
not persisted on disk. You can alter this behavior using the
sync_binlog
server variable. If
the value of this variable is greater than 0, the MySQL server
synchronizes its binary log to disk (using
fdatasync()
) after
sync_binlog
commit groups are written to the
binary log. The default value of sync_binlog
is 0, which does no synchronizing to disk - in this case, the
server relies on the operating system to flush the binary log's
contents from time to time as for any other file. A value of 1
is the safest choice because in the event of a crash you lose at
most one commit group from the binary log. However, it is also
the slowest choice (unless the disk has a battery-backed cache,
which makes synchronization very fast).
Default frequency 06:00:00
Default auto-close enabled no
The binary log captures DML, DDL, and security changes that occur and stores these changes in a binary format. The binary log enables point-in-time recovery, preventing data loss during a disaster recovery situation. It is used on master replication servers as a record of the statements to be sent to slave servers. It also enables you to review all alterations made to your database.
However, the number of log files and the space they use can grow
rapidly, especially on a busy server, so it is important to
remove these files on a regular basis when they are no longer
needed, as long as appropriate backups have been made. The
expire_logs_days
parameter
enables automatic binary log removal.
Default frequency 12:00:00
Default auto-close enabled yes
The case sensitivity of the underlying operating system determines the case sensitivity of database and table names. If you are using MySQL on only one platform, you don't normally have to worry about this. However, depending on how you have configured your server you may encounter difficulties if you want to transfer tables between platforms that differ in file system case sensitivity.
Default frequency 06:00:00
Default auto-close enabled yes
The Event Scheduler is a framework for executing SQL commands at specific times or at regular intervals, similarly to the Unix crontab or the Windows Task Scheduler.
An event is a stored routine with a starting date and time, and a recurring tag. Unlike triggers, events are not linked to specific table operations, but to dates and times. Common uses are the cleanup of obsolete data, the creation of summary tables for statistics, and monitoring of server performance and usage.
Default frequency 00:05:00
Default auto-close enabled yes
The general query log is a general record of what
mysqld
is doing. The server writes
information to this log when clients connect or disconnect, and
it logs each SQL statement received from clients. The general
query log can be very useful when you suspect an error in a
client and want to know exactly what the client sent to mysqld.
However, the general query log should not be enabled in production environments because:
It adds overhead to the server;
It logs statements in the order they were received, not the order they were executed, so it is not reliable for backup/recovery;
It grows quickly and can use a lot of disk space;
Default frequency 06:00:00
Default auto-close enabled yes
The MySQL server maintains a host cache in memory that contains IP address, host name, and error information about clients. It uses the host cache for several purposes:
By caching the results of IP-to-host name lookups, the server avoids doing a DNS lookup for each client connection, thereby improving performance.
The cache contains information about errors that occur during the connection process. Some errors are considered blocking. If too many of these occur successively from a given host without a successful connection, the server blocks further connections from that host.
If the host cache is not large enough to handle all the hosts from which clients may connect, performance may suffer and you may lose information about client connection errors.
Default frequency 00:05:00
Default auto-close enabled no
If the space required to build a temporary table exceeds either
tmp_table_size
or
max_heap_table_size
, MySQL
creates a disk-based table in the server's temp directory. For
performance reasons it is recommended to have most temporary
tables created in memory, and only create large temporary tables
on disk.
Default frequency 06:00:00
Default auto-close enabled yes
InnoDB primarily uses the SHOW ENGINE INNODB
STATUS
command to dump diagnostics information. As
this SHOW
statement can output a lot of data
when running in a system with very many concurrent sessions, the
output is limited to 64 kilobytes in versions < 5.5.7, and 1
megabyte on versions greater than 5.5.7. You are running a
version where the truncation limit should be 1 megabyte, however
truncation is still occurring in your system, and the MEM Agent
relies on this output to pass back a number of key InnoDB
statistics.
However, InnoDB provides a start up option called
innodb-status-file
, which dumps
the same output as SHOW ENGINE INNODB STATUS
to a file called innodb_status.
in the datadir. MySQL Enterprise Monitor Agent
reads this file automatically, if it exists, before executing
the mysql
pid
SHOW
statement.
For more information, see SHOW ENGINE Statement.
Default frequency 00:05:00
Default auto-close enabled no
To guard against ignored typos and syntax errors in SQL, or
other unintended consequences of various combinations of
operational modes and SQL commands, InnoDB provides a strict
mode of operations. In this mode, InnoDB raises error conditions
in certain cases, rather than issue a warning and process the
specified command. This is analogous to
sql_mode
, which controls what
SQL syntax MySQL accepts, and determines whether it silently
ignores errors, or validates input syntax and data values.
Using the new clauses and settings for
ROW_FORMAT
and
KEY_BLOCK_SIZE
on CREATE
TABLE
and ALTER TABLE
commands and
the CREATE INDEX
command can be confusing
when not running in strict mode. Unless you run in strict mode,
InnoDB ignores certain syntax errors and creates the table or
index, with only a warning in the message log. However if InnoDB
strict mode is on, such errors generate an immediate error and
the table or index is not created, saving time by catching the
error at the time the command is issued.
Default frequency 12:00:00
Default auto-close enabled yes
If the InnoDB tablespace is not allowed to automatically grow to meet incoming data demands and your application generates more data than there is room for, out-of-space errors occur and your application may experience problems.
Default frequency 06:00:00
Default auto-close enabled yes
To avoid frequent checkpoint activity and reduce overall physical I/O, which can slow down write-heavy systems, the InnoDB transaction logs should be approximately 50-100% of the size of the InnoDB buffer pool, depending on the size of the buffer pool.
Default frequency 06:00:00
Default auto-close enabled yes
Using multiple threads when repairing MyISAM tables can improve performance, but it can also lead to table and index corruption.
Default frequency 06:00:00
Default auto-close enabled yes
To ensure you are running versions of MySQL which are still covered by their support contracts, this advisor checks for MySQL versions which are no longer eligible for Premier support cover. Specifically for versions 5.1 and 5.5.
The default thresholds are defined in a numeric format, where version 5.5 is represented as 50500 (Notice threshold), and 5.1 as 50100 (Warning threshold).
Default frequency 06:00:00
Default auto-close enabled yes
This advisor does not evaluate against MySQL 8, or higher.
Next-key locking in InnoDB can be disabled, which may improve
performance in some situations. However, this may result in
inconsistent data when recovering from the binary logs in
replication or recovery situations. You can disable most gap
locks, including most next-key locks, by using
--transaction-isolation=READ-COMMITTED
or
--innodb_locks_unsafe_for_binlog=1
.
Using either is perfectly safe, but only if you are also using
--binlog-format=ROW
.
Default frequency 06:00:00
Default auto-close enabled yes
The myisam_recover_options
system variable (the myisam-recover
option
before MySQL 5.5.3) enables automatic MyISAM crash recovery
should a MyISAM table become corrupt for some reason. If this
option is not set, then a table is be Marked as
crashed
, if it becomes corrupt, and no sessions can
SELECT
from it, or perform any sort of DML
against it.
Default frequency 06:00:00
Default auto-close enabled yes
The table cache size controls the number of open tables that can occur at any one time on the server. MySQL works to open and close tables as needed, however you should avoid having the table cache set too low, causing MySQL to constantly open and close tables to satisfy object access.
If the table cache limit has been exceeded by the number of tables opened in the first three hours of service, then the table cache size is likely set too low.
Default frequency 00:30:00
Default auto-close enabled yes
The MySQL server supports multiple time zones and provides
various date and time functions, including a function that
converts a date-time value from one time zone to another
(CONVERT_TZ
). However, while the
MySQL installation procedure creates the time zone tables in the
mysql database, it does not load them; you must do so manually
after installation. If the time zone tables are not loaded,
certain time zone functions such as
CONVERT_TZ
do not work.
Default frequency 12:00:00
Default auto-close enabled yes
This advisor does not evaluate against MySQL 8, or higher.
Error conditions encountered by a MySQL server are always logged
in the error log, but warning conditions are only logged if
log_warnings
is set to a value
greater than 0. If warnings are not logged you do not get
valuable information about aborted connections and various other
communication errors. This is especially important if you use
replication so you get more information about what is happening,
such as messages about network failures and reconnection.
Default frequency 12:00:00
Default auto-close enabled yes