数据库原理及MySQL应用 | 日志管理(附限免视频)( 三 )


在输出的信息中可以看到刚才执行的完整的SQL语句 , 部分输出如下所示 。
数据库原理及MySQL应用 | 日志管理(附限免视频)
文章图片
其中 , “#at”后面的数字是二进制日志文件中事件的开始位置 , 即文件偏移量 , 下一行是语句在服务器上运行的时间戳 , 时间戳后面跟着serverid表示serverid的值、end_log_pos表示下一个事件的开始位置 。
(3)返回MySQL会话窗口 , 将BINLOG_FORMAT变量的值设为ROW , 并进行验证;然后再对数据库的数据表执行修改操作 。
(4)返回DOS命令提示符窗口 , 查看最新的二进制日志 。
在输出的信息中可以看到刚才执行的完整的SQL语句以二进制格式显示 , 对用户来说不可读 。
通过二进制日志 , 可以恢复指定的时间点或位置的数据,关于数据恢复 , 将在后续章节再详述 。
02
错误日志
错误日志是MySQL最重要的日志之一 , 服务器每次启动和停止的详细信息、事件调度器产生的信息以及服务器运行过程中出现的所有较为严重的警告和错误信息都会记录在其中 。 数据库服务器发生故障时 , 可以查看错误日志查找错误原因 。
1.查看错误日志
默认情况下 , 错误日志是开启的 , 错误日志文件位于MySQL安装目录下的Data文件夹中 , 文件名为主机名 , 扩展名为“.err” 。 可在配置文件my.ini的[mysqld]组下加入以下变量声明 , 并重新启动服务器来自定义错误日志文件的名称和存储位置 。
MySQL中的错误日志文件以文本文件形式存储 , 可直接用文本编辑器查看 。
查询错误日志的存储路径 , 基本语法格式如下所示 。
2.删除错误日志
可以直接进入错误日志文件所在的目录(默认是MySQL安装目录下的Data文件夹)删除错误日志文件 。 如果在MySQL运行期间删除 , MySQL不会重新创建新的错误日志文件 , MySQL重新启动后才会自动创建 。
03
通用查询日志
通用查询日志会记录服务器接收到的所有操作 , 包括启动和关闭服务器、查询操作、更新操作等 , 不管这些操作是否包含语法错误 , 是否返回结果 , 都会记录 。
因此 , 开启通用查询日志会产生很大的系统开销 , 默认情况下 , 通用查询日志是关闭的 , 只有在需要进行采样分析或性能调优时才会开启 。
1.开启通用查询日志
查看通用查询日志开启状态和日志文件存储路径的基本语法格式如下所示 。
执行结果中general_log的值为OFF表示关闭;general_log_file的值为日志文件存储路径 。
可以在配置文件“my.ini”的[mysqld]组下加入以下变量声明 , 并重新启动服务器来开启通用查询日志 。
语法说明如下 。 general_log的值设置为1表示开启通用查询日志 , 为0表示关闭通用查询日志 。 general_log_file用于设置通用查询日志的存储位置和文件名 。 默认情况下 , 通用查询日志文件位于MySQL安装目录下的Data文件夹中 , 文件名为主机名 , 扩展名为“.log” 。
如果不希望MySQL重新启动,也可以用SET命令来开启,基本语法格式如下所示 。
2.查看通用查询日志
通用查询日志是以文本文件的形式存储在文件系统中的 , 可以使用文本编辑器直接打开进行查看 。
3.删除通用查询日志
直接进入通用查询日志文件所在的目录(默认是MySQL安装目录下的Data文件夹)删除通用查询日志文件即可 。
04
慢查询日志
顾名思义 , 慢查询日志是用来记录时长超过指定时间的查询的 。 通过慢查询日志 , 可以找出哪些查询语句的执行时间较长、执行效率较低 , 以便进行优化 。