mysql的维护和管理_深入浅出MySQL开发优化和管理维护学习笔记之MySQL日志文件

一、配置文件分类与参数

错误日志

数据库启停过程中错误,运行过程中的异常。

保存方式: 文件

启用方式:无需使用开关参数启用,默认开启

相关参数

文件位置参数log_error,如果不指定值默认在DATADIR目录下,名称为host_name.error。

2.二进制(bin)日志

所有DDL和DML但不包含查询语句。

保存方式: 文件

启用方式:需要配置文件中设置开关参数启用,默认关闭(OFF)

文件位置参数log_bin,如果不指定名称,名称为host_name-bin.NUM;如果只指定名称,以指定名称。均默认放到DATADIR目录下。

相关参数

binlog_format=STATEMENT/ROW/MIXED,日志格式控制,默认自动开启。

expire_logs_days=N,日志保存周期,默认为0,无限制。

也可使用命令删除SQL命令行RESET MASTER 或 PERGE MASTER LOGS

读取命令

mysqlbinlog

使用场景:高可用主从复制、数据库恢复时使用

3.查询日志

全部SQL语句包含select。

保存方式: 文件 或 表(general_log)

要永久生效,需要配置文件中设置开关参数启用,默认关闭(OFF)

文件位置参数general_log,参数已经显示设置设置为 1 或不设置均表示启用,设置为0 表示禁用。

相关参数

general_log_file,如果未指定值,或者未显示设置log_output的值,默认放到DATADIR目录下hostname.log

4.慢查询日志

全部超过参数long_query_time且扫描记录数不小于long_query_time的SQL语句,管理语句和不适用索引的select不记录。

保存方式: 文件 ,日志文件中可以精确到微妙 或 表(slow_log),表中记录只能精确到秒。

启用方式:要永久生效,需要配置文件中设置开关参数启用,默认关闭(OFF)

文件位置参数slow_query_log,参数已经显示设置,值设置为 1 或不设置均表示启用,设置为0 表示禁用。

相关参数

slow_query_log_file ,如果未指定值,默认hostname-slow.log放到DATADIR目录下

log_output = file,table,可以指定其一或全部选择;

相关工具

msqldumpslow 对慢日志进行分类,建议正常情况下开启设置,并经常查看。

使用场景:SQL优化,服务器性能诊断。

5.第三方日志工具

慢查询日志、查询日志、二进制日志、用户自定义类型日志查看工具

mysqlsla

二、配置文件举例

[root@mdb01 mysql]# pwd

/opt/mysql

[root@mdb01 mysql]# vi my.cnf

# Start of my.cnf file

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

####### log setting ########

### bin log ###

log-bin

binlog_format = STATEMENT

expire_logs_days = 7

### slow log ###

slow_query_log = 1

log_output = file

# These are commonly set, remove the # and set as required.

# basedir = .....

# datadir = .....

# port = .....

# server_id = .....

# socket = .....

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# End of my.cnf file

三、验证配置

1.二进制日志

mysql> show variables like "log_bin";

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

| Variable_name | Value |

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

| log_bin       | ON    |

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

1 row in set (0.00 sec)

mysql> show variables like "binlog_format%";

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

| Variable_name | Value     |

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

| binlog_format | STATEMENT |

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

1 row in set (0.00 sec)

mysql> show variables like "expire_logs_days";

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

| Variable_name    | Value |

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

| expire_logs_days | 7     |

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

1 row in set (0.00 sec)

2.慢查询日志

mysql> show variables like "slow_query_log%";

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

| Variable_name       | Value                          |

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

| slow_query_log      | ON                             |

| slow_query_log_file | /opt/mysql/data/mdb01-slow.log |

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

2 rows in set (0.00 sec)

mysql> show variables like "log_output%";

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

| Variable_name | Value |

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

| log_output    | FILE  |

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

1 row in set (0.01 sec)

mysql>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值