(1)错误日志
功能:记录MySQL服务器启动、运行、停止时的信息。
设置
–log-error[=file_name] 指定mysqld保存错误日志文件的位置和名称。
不指定时,默认存储位置为DATADIR,名称为host_name.err。
日志管理
(1)查看错误日志设置
show variables like ‘log_error’;
(2)刷新日志
flush logs:host_name.err
将重命名为host_name.err-old
并且重建host_name.err
的空日志文件。
不能在线更改错误日志的设置。
(2)通用查询日志
功能:记录建立的客户端连接和执行的语句,追踪mysqld内部操作
设置
–log[=file_name]:启用和关闭通用查询日志。
日志管理
(1)查看通用日志设置
show variables like ‘log’;
(2)日志备份
shell> mv hostname.log hostname.log-old
shell> mysqladmin flush-logs
shell> cp hostname.log-old to-backup-directory
shell> rm hostname.log-old
(3)flush logs:将关闭并重新打开日志。
(3)二进制日志
功能
(1)记录所有更改数据的语句
(2)主从复制
设置
–log-bin[={1|0}]:启动和关闭二进制日志。
–binlog-do-db=db_name:对指定的当前数据库记录二进制日志。
–binlog-ignore-db=db_name:对指定的当前数据库不记录二进制日志。
二进制日志管理
(1)删除二进制日志文件
reset master:
删除全部二进制日志文件
purge master logs:
删除部分二进制日志文件
(2)查看二进制日志
show [master|binary] logs;
show master status;
show variables like '%log_bin%';
(3)flush logs:
生成新的二进制日志文件
启动二进制日志包括三个级别分别是:全局、数据库级、用户级。
推荐使用Purge master logs
删除日志文件,它有两种使用方法:
(1)删除某个二进制日志文件前的所有二进制日志文件:PURGE {MASTER | BINARY} LOGS TO 'log_name'
(2)删除索引文件中指定时间点之前的所有二进制日志文件:PURGE {MASTER | BINARY} LOGS BEFORE 'date‘
二进制日志查看命令:
show [master|binary] logs;
查看当前使用日志文件名称和大小。
show master status;
查看当前使用日志文件的状态。
show variables like ‘%log_bin%’;
查看日志文件设置参数。
(4)慢速查询日志
功能
记录所有执行时间超过long_query_time的查询。
设置
–log-slow-queries[=file_name]:指定慢查询日志的路径和名称。
–log-slow-admin-statements:将管理语句写入慢查询日志。
SET {GLOBAL|SESSION} long_query_time = x;
不指定–slow_query_log_file时默认慢查询日志是数据目录下的host_name-slow.log文件
日志管理
(1)查看慢查询日志设置
show variables like 'log_slow_%';
(2)flush logs:
将关闭并打开新的日志文件