我是靠谱客的博主 迅速小笼包,最近开发中收集的这篇文章主要介绍Mysql:Mysql四种日志的设置、启动、查看和删除操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Mysql日志是记录Mysql数据库的日常操作和错误信息的文件。当数据库遭到意外的损害时,可以通过日志文件来查询出错原因,并且可以通过日志文件进行数据恢复。用来记录Mysql数据库的客户端连接情况、SQL语句的执行情况和错误信息等。

Mysql日志分为4种:

二进制日志:以二进制文件的形式记录了数据库中的操作,但不记录查询语句(可以还原数据库)

错误日志:记录Mysql服务器的启动、关闭和运行错误等信息。

通用日志:记录用户登录和记录查询的信息。

慢查询日志:记录执行时间超过指定时间的操作(用于索引优化)

除二进制日志外,其他日志都是文本文件。日志文件通常存储在Mysql数据库的数据目录下。默认情况下,只启动了错误日志的功能。其他3类日志都需要数据库管理员进行设置。

一、二进制日志

二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况。通过二进制日志可以查询Mysql数据库中进行了那些改变。

1.1启动和设置二进制日志

在my.ini文件中添加

         [mysqld]

         log-bin[=DIR[filename]]

其中DIR参数指定二进制文件的存储路径,filename参数指定二进制文件的文件名,其形式为filename.number,number的形式为000001等。每次启动Mysql服务后,都会生成一个新的二进制日志文件,这些日志文件的'number'会不断递增。除了生成二进制文件之外,还会生成一个名为filename.index的文件。这个文件中存储所有二进制日志文件的清单。

注意:二进制日志与数据库的数据文件最好不要放在同一个硬盘,即使数据文件所在的硬盘被破坏,也可以使用另一块硬盘的二进制日志来恢复数据库文件。

1.2查看二进制日志:   mysqlbinlog filename.number

1.3删除二进制日志:

二进制日志会记录大量的信息。如果很长时间不清理二进制日志,将会浪费很多的磁盘空间。

删除所有二进制日志:  reset master

根据编号来删除二进制日志:   purge master logs to 'filename.number';

根据创建时间来删除二进制日志:purge master logs to  'yyyy-mm-dd hh:MM:ss';

1.4使用二进制文件还原数据库

二进制日志记录了用户对数据库中数据的改变。如 insert、update、create语句等都会记录在二进制文件中。一旦数据库遭到破坏,可以通过二进制日志来还原数据库。

还原数据库的命令:

mysqlbinlog filename.number | mysql -u root -p

暂停和重启二进制日志功能:

set sql_log_bin=0   暂停二进制文件

set sql_log_bin=1 重启二进制文件

二、错误日志

错误日志是Mysql数据库中最常用的一种日志。错误日志主要用来记录Mysql服务的开启、关闭和错误信息。

2.1启动和设置错误日志

错误日志功能是默认开启的,而且无法被禁止。存储在数据文件夹下,错误日志文件通常的名称为hostname.err,其中hostname表示Mysql服务器的主机名。错误日志的存储位置可以通过Log-error选型来设置。

[mysqld]

log-error=DIR/[filename]  同二进制日志设置参数含义相同。

2.2查看错误日志

错误日志文件记录着开启关闭和出现异常的信息。错误文件以文本形式存储,可以直接打开。

2.3删除错误日志

数据库管理员可以删除很久以前的错误日志,以保证Mysql服务器上的硬盘空间。

mysqladmin -u -root -p flush-logs

三、通用查询日志

通用查询日志是用来记录用户的所有操作,包括启动和关闭,更新语句和查询语句

3.1启动和设置通用查询日志

[mysqld]

log[=DIR[filename]]

3.2查看通用查询日志

由于通用查询日志的存储形式为文本形式,因此可以直接打开查询。

3.3删除通用查询日志

mysqladmin -u root -p flush-logs

四、慢查询日志

慢查询日志是用来记录执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出那些查询语句的执行效率很低,以便进行优化。

4.1启动和设置慢查询日志

[mysqld]

log-slow-queries[=DIR[filename]]  #设定存储的位置和名字,默认为hostname-slow.log

long_query_time=n  #设定时间值,该值的单位是秒,如果不设置,默认时间为10秒。

查看慢查询日志也是直接打开文件即可,删除与通用查询日志相同。

 

最后

以上就是迅速小笼包为你收集整理的Mysql:Mysql四种日志的设置、启动、查看和删除操作的全部内容,希望文章能够帮你解决Mysql:Mysql四种日志的设置、启动、查看和删除操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部