MySQL基础之第17章 MySQL日志
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、删除通用查询日志
%JAVA_HOME%\bin;C:\Program Files\IDM Computer Solutions\UltraEdit\;%JBOSS_HOME%\bin
可以使用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、小结
|
日志类型 |
配置 |
默认 |
查看 |
删除 |
|
二进制 |
[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基础之第17章 MySQL日志的更多相关文章
- MySQL基础之第13章 MySQL函数
13.1.数学函数 随机数可能会用到,其他基本无视. 13.2.字符串函数 重点CONCAT(S1,S2….) 13.3.日期和时间函数 一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+ ...
- MySQL基础之第15章 MySQL用户管理
15.2.账户管理 15.2.1.登录和退出MySQL服务器 mysql –hhostname|hostIP –P port –u username –p[password] databaseName ...
- MySQL基础之第4章 MySQL数据类型
4.1.整数类型 tinyint(4)smallint(6)mediumint(9)int(11)bigint(20) 注意:后面的是默认显示宽度,以int为例,占用的存储字节数是4个,即4*8=32 ...
- mysql数据库优化课程---17、mysql索引优化
mysql数据库优化课程---17.mysql索引优化 一.总结 一句话总结:一些字段可能会使索引失效,比如like,or等 1.check表监测的使用场景是什么? 视图 视图建立在两个表上, 删除了 ...
- MySQL基础之第2章 Windows平台下安装与配置MySQL
2.1.msi安装包 2.1.1.安装 特别要注意的是,安装前要删除原来的my.ini和原来的data目录,改名也行,不然在最后一步会“apply security settings”报个1045错误 ...
- 【夯实Mysql基础】记一次mysql语句的优化过程
1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使 ...
- 【夯实Mysql基础】记一次mysql语句的优化过程!
1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同 ...
- mysql基础优化-explain的使用-mysql死锁
MySQL的优化 主要包括三个方面,首先是SQL语句的优化,其次是表结构的优化(这里主要指索引的优化),最后是服务器配置的优化. 一.SQL语句的优化 在 where 及 order by 涉及的列上 ...
- mysql基础1:yum安装mysql
1.下载yum源并安装http://dev.mysql.com/downloads/repo/yum/.wget https://dev.mysql.com/get/mysql57-community ...
随机推荐
- 使用jmeter对websocket进行压力测试[转载]
前段时间本着练习angularJS+requireJS的目的写了一个基于nodeJS和socket.io的聊天室,github地址为:https://github.com/towersxu/node- ...
- 看完这些,你就算得上既了解围棋又了解alphago了
首先,我们要祝贺小李下出第78手的“神之一手”,这一手堪称前无古人后无来者,尤其是结合了阿尔法狗自暴自弃的表现.小李说过他的失败并不是人类的失败,同样,小李的胜利也只是属于他一人的胜利. 然而人类在围 ...
- 关于J-LINK升级最新固件后无法连上的一点分析
昨天升级了最新的 Keil MDK 4.53,怕它老是提示 J-Link 要升级,就去 SEGGER 的网站下了个最新版的 J-Link 软件包(4.46F 版的),装好后运行 J-Link Comm ...
- DB2行转列、列转行等操作
DB2 行转列 ----start 在网上看到这样一个问题:(问题地址:http://www.mydb2.cn/bbs/read.php?tid=1297&page=e&#a) 班级 ...
- Java数组排序
Java数组排序Arrays.sort,以及Comparator接口的用法 有的时候需要对数组里的element进行排序.当然可以自己编写合适的排序方法,但既然java包里有自带的Arrays.sor ...
- ubuntu下如何快速加密可移动存储设备
ubuntu下可以快速加密U盘和其他移动存储设备.访问的时候会要你输入密码,这样就比较安全了. ubuntu的磁盘工具使用的是LUKS加密,虽然这个加密方法不跟其他系统兼容,但可以在其他试用GNOME ...
- 神经网络:卷积神经网络CNN
一.前言 这篇卷积神经网络是前面介绍的多层神经网络的进一步深入,它将深度学习的思想引入到了神经网络当中,通过卷积运算来由浅入深的提取图像的不同层次的特征,而利用神经网络的训练过程让整个网络自动调节卷积 ...
- Delphi遍历文件夹
/// <remarks> /// 遍历文件夹 (引用SysUtils单元) /// </remarks> procedure TfrmMusicMenu.SearchInDi ...
- JVM的相关知识整理和学习--(转载)
JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理.冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操 ...
- [分享] VIM 常用命令及游戏练级
分享一个不错的文章,讲解了 VIM 的常用命令. http://coolshell.cn/articles/5426.html 另,介绍一个可以帮助熟悉VIM命令的练级游戏. 游戏地址:http:// ...