less than 1 minute read


慢查询日志
1.慢查询日志(先打开开关,再修改时间)
mysql> show variables like '%slow_query%'\g;
+---------------------+-----------------------------------+
| Variable_name       | Value                             |
+---------------------+-----------------------------------+
| slow_query_log      | OFF                               |
| slow_query_log_file | /var/lib/mysql/localhost-slow.log |
+---------------------+-----------------------------------+

mysql> show variables like '%long_query%'\g;
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+

2.慢查询日志,也可记录没有使用索引
mysql> show variables like 'log_queries%'\g;
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF   |
+-------------------------------+-------+

分析慢查询日志工具 
mysqldumpslow

3.也可以表格形式查看慢查询日志(表 mysql.slow_log)
mysql> show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |
+---------------+-------+

4.也可根据逻辑IO读取次数记录慢查询(没有找到变量)
slow_query_type        启用slow log的方式
long_query_io            限定的逻辑IO次数,用于记录为slow log



binlog 二进制日志
默认不启用
待补充

mysql> show variables like '%binlog%'\g;
+-----------------------------------------+----------------------+
| Variable_name                           | Value                |
+-----------------------------------------+----------------------+
| 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         |
| innodb_api_enable_binlog                | OFF                  |
| innodb_locks_unsafe_for_binlog          | OFF                  |
| max_binlog_cache_size                   | 18446744073709547520 |
| max_binlog_size                         | 1073741824           |
| max_binlog_stmt_cache_size              | 18446744073709547520 |
| simplified_binlog_gtid_recovery         | OFF                  |
| sync_binlog                             | 0                    |
+-----------------------------------------+----------------------+


表空间文件
1.共享表空间的文件
=> 默认12M,可指定到不同的空间
mysql> show variables like '%innodb_data%'\g;
+-----------------------+------------------------+
| Variable_name         | Value                  |
+-----------------------+------------------------+
| innodb_data_file_path | ibdata1:12M:autoextend |
| innodb_data_home_dir  |                        |
+-----------------------+------------------------+

2.为每个表创建独立的表空间文件(默认打开),文件后缀为.ibd
mysql> show variables like '%innodb_file_per%'\g;
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+



redo 重做日志文件
1.至少有1个重做日志文件组,每个组下至少有2个日志文件
| innodb_log_file_size        | 50331648 |
| innodb_log_files_in_group   | 2

2.为提供高可用性,可设置多个镜像日志组,采用循环写方式
| innodb_log_group_home_dir  | ./    |
| innodb_mirrored_log_groups | 1     |

3.对比binlog和redolog
1.归属不同:binlog记录mysql所有日志,redolog只记录innodb的事务日志;
2.目标不同:binlog记录逻辑日志,而redolog记录关于页page的更改物理情况;
3.写入时间不同:binlog在提交时写,redolog不断写;