作为开发人员的,都知道日志的重要性,通过查看日志可以优化项目的性能,在出现错误的时候,一般第一步就是要查看错误日志。
这里我们介绍Mysql相关日志的一些配置。
慢查询日志
1、运行时开起慢查询日志
set global slow_query_log = 1;
set global slow_query_log_file = '/var/log/mysql-slow.log';
2、在my.cnf中永久设置
slow-query-log=1
slow-query-log-file=/var/log/mysql-slow.log
MySQL二进制日志
配置文件中
log-bin = /path/to/log
额外配置:
expire-logs-days = 14
max-binlog-size = 500M
server-id = 1
错误日志
默认会记录到syslog里面,如果不想记录到syslog,那么官方建议的方式
[mysqld_safe]
...
log_error=/var/log/mysql/mysql_error.log
[mysqld]
...
log_error=/var/log/mysql/mysql_error.log
查看配置
MariaDB [(none)]> show variables like '%log%';
+-------------------------------------------+--------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
+-------------------------------------------+--------------------------------------------------------------------------------------------------------------+
| aria_checkpoint_log_activity | 1048576 |
| aria_log_file_size | 1073741824 |
| aria_log_purge_type | immediate |
| aria_sync_log_dir | NEWFILE |
| back_log | 80 |
| binlog_annotate_row_events | OFF |
| binlog_cache_size | 32768 |
| binlog_checksum | NONE |
| binlog_commit_wait_count | 0 |
| binlog_commit_wait_usec | 100000 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_format | STATEMENT |
| binlog_optimize_thread_scheduling | ON |
| binlog_row_image | FULL |
| binlog_stmt_cache_size | 32768 |
| encrypt_binlog | OFF |
...
参考: