MySQL教程 - 日志(Logging)
2022/9/8 2:25:39
本文主要是介绍MySQL教程 - 日志(Logging),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
更新记录
转载请注明出处。
2022年9月6日 发布。
2022年9月6日 从笔记迁移到博客。
日志
MySQL中日志分类
二进制日志 以二进制形式记录所有更改数据的语句,不包含查询语句
查询日志 记录建立的客户端连接和执行的语句
错误日志 记录MySQL服务的启动/运行/停止MySQL服务时出现的问题
慢查询日志 记录执行时间超过long_query_time的查询或不适用索引的查询
备注:默认只启动错误日志
二进制日志
启动和设置二进制日志
配置文件my.ini中[MySQLd]组下面设置
log-bin [= path / [filename]] expire_logs_days = 10 max_binlog_size = 100M
说明:
log-bin 定义开启二进制, path和filename指定了日志文件的路径和名称
expire_logs_days 定义MySQL的过期时间
max_binlog_size 定义单个文件大小限制,默认1G,不得大于1G,不得小于4096B
查看是否启动二进制日志
show variables like 'log_bin';
结果:
+---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | OFF | +---------------+-------+
查看文件个数及文件名
show binary logs;
查看文件详细内容
mysqlbinlog path/filename;
删除所有二进制文件
reset master;
删除指定二进制文件
purge {master|binary} logs to '文件名'; purge {master|binary} logs before '日期';
说明:
第一种按文件名删除
第二种按日期删除,格式20190702
使用二进制恢复数据库
mysqlbinlog [参数] filename | mysql -u用户名 -p密码;
参数支持:
--start-date 开始时间
--stop-date 结束时间
--start-position 开始位置
--stop-position 结束位置
实例:恢复到2019年7月2日12点前
mysqllbinlog --stop-date="2019-07-02 12:00:00" | mysql -uroot -p123456;
暂时停止二进制功能
set sql_log_bin = {0|1}
说明:
1是开启功能
0是关闭功能
错误日志
启动和设置错误日志
默认在数据库目录下,默认文件名为hostname.err
可以通过修改my.ini配置
[mysqld] log-error = [path / [filename]]
修改配置后,需要重启mysql生效
查看错误日志
查询错误日志的存储路径和文件名
show variables like 'log_error';
结果:
+---------------+--------------------------+ | Variable_name | Value | +---------------+--------------------------+ | log_error | c:\wamp64\logs\mysql.log | +---------------+--------------------------+
删除错误日志
错误日志是以文件形式存储的,可以直接删除
或者在MySQL客户端
mysql> flush logs;
查询日志
通用查询日志记录MySQL的所有用户操作,包括启动关闭服务/执行查询/更新语句等..
启动和设置通过查询日期
默认情况下并没有开启通用查询日志.可以通过修改my.ini配置
[mysqld] log [ = path /[filename]]
查看通用查询日志
根据my.ini设置的路径文件名查看
删除通用查询日志
直接删除文件或执行
mysql> flush logs;
慢查询日志
记录查询时长超过指定时间的日志
可以找出执行时间较长执行效率较低的语句,然后进行优化
启动和设置慢查询日志
默认是关闭的,可以通过修改配置文件开启
[mysqld] log-slow-queries [=path/[filename]]
查看慢查询日志
根据my.ini设置的路径文件名查看
删除慢查询日志
直接删除文件或执行
mysql> flush logs;
这篇关于MySQL教程 - 日志(Logging)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程