17.1、日志简介
二进制日志
错误日志
通用查询日志
慢查询日志
17.2、二进制日志
二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况。通过二进制日志可以查询MySQL数据库中进行了哪些改变。
17.2.1、启动和设置二进制日志
默认关闭
# my.cnf(Linux操作系统下)或者my.ini(Windows操作系统下)
[mysqld]
log-bin [=DIR \ [filename] ]
DIR和filename可以不指定,默认为hostname-bin.number,同时生成hostname-bin.index文件
17.2.2、查看二进制日志
mysqlbinlog filename.number
17.2.3、删除二进制日志
1.删除所有二进制日志
RESET MASTER;
2.根据编号来删除二进制日志
PURGEMASTER LOGS TO ‘filename.number’
清除编号小于number的所有二进制文件
3.根据创建时间来删除二进制日志
PURGEMASTER LOGS TO ‘yyyy-mm-dd hh:MM:ss’
删除指定时间之前的
17.2.4、使用二进制日志还原数据库
mysqlbinlog filename.number | mysql -u root –p
number编号小的先还原
17.2.5、暂时停止二进制日志功能
SET SQL_LOG_BIN=0
17.3、错误日志
错误日志是MySQL数据库中最常用的一种日志。错误日志主要用来记录MySQL服务的开启、关闭和错误信息。
17.3.1、启动和设置错误日志
默认开启的,而且,错误日志无法被禁止。
默认情况下,错误日志存储在MySQL数据库的数据文件夹下。错误日志文件通常的名称为hostname.err。其中,hostname表示MySQL服务器的主机名。错误日志的存储位置可以通过log-error选项来设置。将log-error选项加入到my.ini或者my.cnf文件的[mysqld]组中,形式如下:
# my.cnf(Linux操作系统下)或者my.ini(Windows操作系统下)
[mysqld]
log-error=DIR / [filename]
17.3.2、查看错误日志
文本编辑/查看器
17.3.3、删除错误日志
MySQL数据库中,可以使用mysqladmin命令来开启新的错误日志。mysqladmin命令的语法如下:
mysqladmin -u root -p flush-logs
执行该命令后,数据库系统会自动创建一个新的错误日志。旧的错误日志仍然保留着,只是已经更名为filename.err-old。
17.4、通用查询日志
通用查询日志用来记录用户的所有操作,包括启动和关闭MySQL服务、更新语句、查询语句等。
17.4.1、启动和设置通用查询日志
默认情况下,通用查询日志功能是关闭的
通过my.cnf或者my.ini文件的log选项可以开启通用查询日志。将log选项加入到my.cnf或者my.ini文件的[mysqld]组中,形式如下:
# my.cnf(Linux操作系统下)或者my.ini(Windows操作系统下)
[mysqld]
log [=DIR \ [filename] ]
17.4.2、查看错误日志
文本编辑/查看器
17.4.3、删除通用查询日志
可以使用mysqladmin命令来开启新的通用查询日志。新的通用查询日志会直接覆盖旧的查询日志,不需要再手动删除了。mysqladmin命令的语法如下:
mysqladmin -u root -p flush-logs
17.5、慢查询日志
慢查询日志用来记录执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率很低,以便进行优化。
17.5.1、启动和设置慢查询日志
默认情况下,慢查询日志功能是关闭的。
通过my.cnf或者my.ini文件的log-slow-queries选项可以开启慢查询日志。通过long_query_time选项来设置时间值,时间以秒为单位。如果查询时间超过了这个时间值,这个查询语句将被记录到慢查询日志。将log-slow-queries选项和long_query_time选项加入到my.cnf或者my.ini文件的[mysqld]组中,形式如下:
# my.cnf(Linux操作系统下)或者my.ini(Windows操作系统下)
[mysqld]
log-slow-queries [=DIR \ [filename] ]
long_query_time=n
17.5.2、查看慢查询日志
文本编辑/查看器
17.5.3、删除慢查询日志
慢查询日志的删除方法与通用查询日志的删除方法是一样的。可以使用mysqladmin命令来删除。也可以使用手工方式来删除。mysqladmin命令的语法如下:
mysqladmin -u root -p flush-logs
执行该命令后,命令行会提示输入密码。输入正确密码后,将执行删除操作。新的慢查询日志会直接覆盖旧的查询日志,不需要再手动删除了。数据库管理员也可以手工删除慢查询日志。删除之后需要重新启动MySQL服务。重启之后就会生成新的慢查询日志。如果希望备份旧的慢查询日志文件,可以将旧的日志文件改名。然后重启MySQL服务
17.6、小结
日志类型
|
配置
my.cnf或my.ini
|
默认
启动
|
查看
|
删除
|
二进制
日志
|
[mysqld]
log-bin [=DIR \ [filename] ]
|
否
|
mysqlbinlog
filename.number
|
RESET MASTER;
PURGE MASTER LOGS TO
‘filename.number’
PURGE MASTER LOGS TO
‘yyyy-mm-dd hh:MM:ss’
|
错误
日志
|
[mysqld]
log-error[=DIR \ [filename] ]
|
是
|
文本查看/编辑器
|
mysqladmin -uroot -p flush-logs
|
通用查询
日志
|
[mysqld]
log [=DIR \ [filename] ]
|
否
|
文本查看/编辑器
|
mysqladmin -uroot -p flush-logs
|
慢查询
日志
|
log-slow-queries[=DIR \ [filename] ]
long_query_time=n
|
否
|
文本查看/编辑器
|
mysqladmin -uroot -p flush-logs
|
分享到:
相关推荐
MySQL入门很简单-学习笔记_20110913 MySQL入门很简单-学习笔记_20110913
MySQL入门很简单-学习笔记_20110913.pdf 自己整理的,很全,有了这个基本不用买书了,有些东西很实用。
【学习笔记】 Mysql入门很简单-笔记
这是一篇关于mysql的文档,让你很简单的学习mysql,入门必备!希望能帮助你
MySQL数据库入门--读书笔记的一到八章的总结,有衔接感,看起来要好一点
MySQL入门到高级-宋红康版 ----- 毕业设计,课程设计,项目源码均经过助教老师测试,运行无误,欢迎下载交流 ----- 下载后请首先打开README.md文件(如有),某些链接可能需要魔法打开。 ----- 毕业设计,课程设计,...
《MySQL入门很简单》学习笔记
mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-...
mysql入门很简单, 适合初学者快速浏览整体内容,pdf内容清晰
mysql-connector-net-0.1.0.msi mysql-connector-net-6.3.6.msi mysql-connector-net-6.3.7.msi mysql-connector-net-6.3.8.msi mysql-connector-net-6.3.9.msi mysql-connector-net-6.4.0.msi mysql-connector-...
MySQL入门很简单课件MySQL入门很简单课件MySQL入门很简单课件MySQL入门很简单课件MySQL入门很简单课件MySQL入门很简单课件
mysql-installer-community-5.7.31.0 mysql-installer-community-5.7.31.0 mysql-installer-community-5.7.31.0 mysql-installer-community-5.7.31.0 mysql-installer-community-5.7.31.0 mysql-installer-community...
MySql入门教程---基础篇,入门级的小教程,蛮不错的
单兴华CTO-学习Mysql经典教程-第01章MySQL 与SQL 介绍.pdf 单兴华CTO-学习Mysql经典教程-第02章用MySQL 处理数据.pdf 单兴华CTO-学习Mysql经典教程-第03章MySQL SQL 语法及其用法.pdf 单兴华CTO-学习Mysql经典教程-...
MySQL必知必会-学习笔记
如何学习数据库(新⼿必看)? mysql 操作表 常⽤关系型数据库产品介绍 MySQL适⽤于哪些场景? 什么是数据库 MySql 安装配置(win 10) mysql数据库远程⼯具之Navicat安装与配置如何通过命令进⾏切换数据库 MySQL ...
MYSQL 学习的笔记 由MYSQL的简介 和一些基础知识简介。
mysql-connector-java-5.1.27.jar mysql-connector-java-5.1.27.jar
mysql驱动包 mysql-connector-java-5.1.13-bin.jar 方便快捷获取。。。