• CRUD工程师——日志


    mysql日志的种类,一般来说,日志有五种,分别为:
    错误日志:-log-err (记录启动,运行,停止mysql时出现的信息)
    二进制日志:-log-bin (记录所有更改数据的语句,还用于复制,恢复数据库用)
    查询日志:-log (记录建立的客户端连接和执行的语句)
    慢查询日志: -log-slow-queries (记录所有执行超过long_query_time秒的所有查询)
    更新日志: -log-update (二进制日志已经代替了老的更新日志,更新日志在MySQL 5.1中不再使用)

     错误日志:

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

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

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

    查询日志:

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

    慢日志:

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

    事务日志:

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

     二进制日志:

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


    查看日志功能状态

    mysql>show variables like 'log%';(是否启用了日志)
    mysql> show master status;(怎样知道当前的日志)
    mysql> show master logs;(显示二进制日志的数目)
    MySQL的查询日志记录了所有MySQL数据库请求的信息。无论这些请求是否得到了正确的执行。默认情况下MySQL查询日志是关闭的。生产环境,如果开启MySQL查询日志,对性能还是有蛮大的影响的。另外很多时候,MySQL慢查询日志基本可以定位那些出现性能问题的SQL,它跟SQL Server中的profiler有点类似,但是这个不能跟踪某个会话、用户、客户端。它只能对整个数据库进行跟踪。
    一般在我目前的使用中,使用慢查询日志比较多。
    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                          |
    +-----------------------------------------+--------------------------------+
    61 rows in set (0.00 sec)
  • 相关阅读:
    Java集合框架
    Java数据结构
    Java中的关键字
    Java中的类和接口
    Bootstrap-datepicker3官方文档中文翻译---Markup/标记(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)
    Bootstrap-datepicker3官方文档中文翻译---概述(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)
    ionic3中NavController类push setRoot相关问题解决
    加载数据时,页面显示正在加载的动画,支持移动端
    判断计算后的数为数字,才在前台页面显示,否则用-代替
    ionic3中 ion-datetime 全屏可点击问题解决方案
  • 原文地址:https://www.cnblogs.com/SmartCat994/p/13172637.html
Copyright © 2020-2023  润新知