Overview of MariaDB logs
You are viewing an old version of this article. View
the current version here.
There is a lot of variables in MariaDB that you can use to define what to log and when to log.
This article will give you an overview of the different logs and how to enable/disable logging to these.
The error log
- Always enabled
- Usually a file in the data directory, but some distributions may move this to other locations.
- All critical errors are logged here.
- One can get warnings to be logged by setting log_warnings.
- With the mysqld_safe
--syslog
option one can duplicated the messages to the system's syslog.
General query log
- Enabled with --general-log
- Logs all queries to a file or table.
- Useful for debugging or auditing queries.
- The super user can disable logging to it for a connection by setting SQL_LOG_OFF to 0.
Slow Query log
- Enabled by starting mysqld with --slow-query-log
- Logs all queries to a file or table.
- Useful to find queries that causes performance problems.
- Logs all queries that takes more than long_query_time to run.
- Once can decide what to log with the options --log-slow-admin-statments, --log-slow-slave-statements, log_slow_filter or log_slow_rate_limit.
- Once can change what is logged by setting log_slow_verbosity.
- One can disable it globally by setting global.slow_query_log to 0
- In 10.1 on can disable it for a connection by setting local.slow_query_log to 0.
The binary log
- Enabled by starting mysqld with --log-bin
- Normally only used on machines that are, or may become, replication masters.
- Binary log files are mainly used by replication and can also be used with mysqlbinlog to apply on a backup to get the database up to date.
- One can decide what to log with --binlog-ignore-db=database_name or --binlog-do-db=database_name.
- The super user can disable logging for a connection by setting SQL_LOG_BIN to 0. However while this is 0, no changes done in this connection will be replicated to the slaves!
- For examples, see Using and Maintaining the Binary Log.
Examples
If you know that your next query will be slow and you don't want to log it in the slow query log, do:
SET LOCAL SLOW_QUERY_LOG=0;
If you are a super user running a log batch job that you don't want to have logged (for example mysqldump), do:
SET LOCAL SQL_LOG_OFF==, LOCAL SLOW_QUERY_LOG=0;
mysqldump in MariaDB 10.1 will do this automaticly if you run it with the --disable-log-querys
See also
Comments
Comments loading...
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.