如何查看mysql日志

MySQL日志主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志。

查看日志信息的方法:

mysql> show global variables like '%log%';

+-----------------------------------------+--------------------------------+

| Variable_name                           | Value                          |

+-----------------------------------------+--------------------------------+

| back_log                                | 250                            |

| binlog_cache_size                       | 32768                          |

| binlog_checksum                         | CRC32                          |

| binlog_direct_non_transactional_updates | OFF                            |

| binlog_error_action                     | IGNORE_ERROR                   |

| binlog_format                           | STATEMENT                      |

| binlog_gtid_simple_recovery             | OFF                            |

| binlog_max_flush_queue_time             | 0                              |

| binlog_order_commits                    | ON                             |

| binlog_row_image                        | FULL                           |

| binlog_rows_query_log_events            | OFF                            |

| binlog_stmt_cache_size                  | 32768                          |

| binlogging_impossible_mode              | IGNORE_ERROR                   |

| expire_logs_days                        | 0                              |

| general_log                             | OFF                            |

| general_log_file                        | /var/lib/mysql/kafka2.log      |

| innodb_api_enable_binlog                | OFF                            |

| innodb_flush_log_at_timeout             | 1                              |

| innodb_flush_log_at_trx_commit          | 2                              | ===>【事务日志】详解[1]

| innodb_locks_unsafe_for_binlog          | OFF                            |

| innodb_log_buffer_size                  | 33554432                       |

| innodb_log_compressed_pages             | ON                             |

| innodb_log_file_size                    | 536870912                      |

| innodb_log_files_in_group               | 2                              | ===>【事务日志】至少2个

| innodb_log_group_home_dir               | ./                             | ===>【事务日志】定义innodb事务日志组的文件目录

| innodb_mirrored_log_groups              | 1                              | ===>【事务日志】表示对日志组做镜像

| innodb_online_alter_log_max_size        | 134217728                      |

| innodb_undo_logs                        | 128                            |

| log_bin                                 | OFF                            |

| log_bin_basename                        |                                |

| log_bin_index                           |                                |

| log_bin_trust_function_creators         | OFF                            |

| log_bin_use_v1_row_events               | OFF                            |

| log_error                               | ./kafka2.err                   | ===>【错误日志】错误日志输出目录以及错误日志文件名

| log_output                              | FILE                           |

| log_queries_not_using_indexes           | OFF                            |

| log_slave_updates                       | OFF                            |

| log_slow_admin_statements               | OFF                            |

| log_slow_slave_statements               | OFF                            |

| log_throttle_queries_not_using_indexes  | 0                              |

| log_warnings                            | 1                              | ===>【错误日志】是否把警告信息添加进错误日志中 

| max_binlog_cache_size                   | 18446744073709547520           |

| max_binlog_size                         | 1073741824                     |

| max_binlog_stmt_cache_size              | 18446744073709547520           |

| max_relay_log_size                      | 0                              |

| relay_log                               |                                |

| relay_log_basename                      |                                |

| relay_log_index                         |                                |

| relay_log_info_file                     | relay-log.info                 |

| relay_log_info_repository               | FILE                           |

| relay_log_purge                         | ON                             |

| relay_log_recovery                      | OFF                            |

| relay_log_space_limit                   | 0                              |

| simplified_binlog_gtid_recovery         | OFF                            |

| slow_query_log                          | OFF                            | ===>【慢日志】查看慢日志是否开启

| slow_query_log_file                     | /var/lib/mysql/kafka2-slow.log | ===>【慢日志】查看慢日志的文件目录以及文件名

| sql_log_bin                             | ON                             |

| sql_log_off                             | OFF                            |

| sync_binlog                             | 0                              |

| sync_relay_log                          | 10000                          |

| sync_relay_log_info                     | 10000                          |

+-----------------------------------------+--------------------------------+

rows in set (0.00 sec)

mysql日志介绍:

错误日志:

在MySQL数据库中,错误日志功能是默认开启的,而且无法被关闭。默认情况,错误日志存储在mysql数据库的数据文件中。错误日志文件通常的名称为hostname.err(hostname表示服务器的主机名)。

错误日志可以自己配置,错误日志可以通过log-error和log-warnings来定义,其中log-error:配置是否启用错误日志功能和错误日志的存储位置?log-warning:配置是否将警告信息也定义至错误日志中?

错误日志记录信息:服务器启动关闭信息、运行错误信息、时间调度器运行一个事件时产生的信息、在服务器上启动进程产生的信息。

查询日志:

默认情况,查询日志是关闭的。因为查询日志会记录用户所有的操作,其中还包括增删改查等信息,如果在高并发的环境下会产生大量的信息,导致不必要的磁盘IO,会影响mysql的性能。

慢日志:

慢查询日志是用来记录执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率很低,以便进行优化。一般建议开启,它对服务器性能影响很小,但是可以记录MySQL服务器上执行很长时间的查询语句。可以帮助我们定义性能问题。

事务日志:

事务日志(InnoDB特有的日志)可以帮助提高事务的效率。使用事务日志,存储引擎在修改表的数据时只需要修改其内存拷贝,再把改修改行为记录到持久在硬盘上的事务日志中,而不用每次都将修改的数据本身持久到磁盘。事务日志采用追加的方式,因此写日志的操作是磁盘上一小块区域内的顺序I/O,而不像随机I/O需要在磁盘的多个地方移动磁头,所以采用事务日志的方式相对来说要快得多。事务日志持久以后,内存中被修改的数据在后台可以慢慢的刷回到磁盘。目前大多数的存储引擎都是这样实现的,我们通常称之为预写式日志,修改数据需要写两次磁盘。如果数据的修改已经记录到事务日志并持久化,但数据本身还没有写回磁盘,此时系统崩溃,存储引擎在重启时能够自动恢复这部分修改的数据。具有的恢复方式则视存储引擎而定。

二进制日志:

二进制日志也叫作变更日志,主要用于记录修改数据或有可能引起数据改变的mysql语句,并且记录了语句发生时间、执行时长、操作的数据等等。所以说通过二进制日志可以查询mysql数据库中进行了哪些变化。一般大小体积上限为1G。

推荐学习《Python教程》。

以上是 如何查看mysql日志 的全部内容, 来源链接: utcz.com/z/538808.html

回到顶部