概述
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四种日志的设置、启动、查看和删除操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复