第17章 MySQL日志
MySQL日志是记录MySQL数据库的日常操作和错误信息的文件。分为:
二进制日志;
错误日志;
通用查询日志;
慢查询日志。
17.1 日志简介
17.2 二进制日志
二进制日志也叫做变更日志(update log),主要用于记录数据库的变化情况。通过二进制日志可以查询MySQL数据库中进行了哪些改变。
17.2.1 启动和设置二进制日志
默认情况下,二进制日志功能是关闭的。通过my.cnf或者my.ini文件的log-bin选项可以开启二进制日志。
详见书上。
17.2.2 查看二进制日志
语法:
mysqlbinlog filename.number
17.2.3 删除二进制日志
删除所有二进制日志
RESET MASTER;
根据编号来删除二进制日志
语法:PURGE MASTER LOGS TO 'filename.number';
根据创建时间来删除二进制日志
语法:PURGE MASTER LOGS TO 'yyyy-mm-dd hh:MM:ss';
17.2.4 使用二进制日志还原数据库
命令:
mysqlbinlog filename.number | mysql -u root -p
17.2.5 暂时停止二进制日志功能
17.3 错误日志
17.3.1 启动和设置错误日志
17.3.2 查看错误日志
17.3.3 删除错误日志
语法:
mysqladmin -u root -p flush-logs
17.4 通用查询日志
通用查询日志是用来记录用户的所有操作,包括
启动和关闭MySQL服务;
更新语句;
查询语句等。
17.4.1 启动和设置通用查询日志
17.4.2 查看通用查询日志
17.4.3 删除通用查询日志
语法:
mysqladmin -u root -p flush-logs
17.5 慢查询日志
慢查询日志是用来记录执行时间超过指定时间的查询语句。
通过慢查询日志,可以查找出哪些查询语句的执行效率很低,以便进行优化。
17.5.1 启动和设置慢查询日志
17.5.2 查看满查询日志
17.5.3 删除慢查询日志
语法:
mysqladmin -u root -p flush-logs
17.8 常见问题及解答
- 平时应该开启什么日志?
- 如何使用二进制日志?
参考文献:
1.《MySQL入门很简单》。