Mysql日志操作

  • Mysql日志

    mysql的日志类型
    错误日志: -log-err
    记录mysql服务的启动、运行、停止mysql服务时出现的问题
    查询日志: -log
    记录建立的客户端连接和执行的语句
    慢查询日志: -log-slow-queries
    记录所有执行时间超过long_query_time的所有查询或不使用索引的查询
    更新日志: -log-update
    二进制日志: -log-bin
    记录所有更改数据的语句,可以用于数据复制
    1.首先确认你日志是否启用了

    1. mysql>show variables like ‘log_%‘;


    如果启用了,即ON

2.怎样知道当前的日志

  1. mysql> show master status;

3.看二进制日志文件用mysqlbinlog

  1. shell>mysqlbinlog mail-bin.000001
如何开启二进制查询?

默认情况下,二进制日志是关闭的,可以通过修改mysql的配置文件来启动和设置二进制日志:
my.cnf中[mysqld]组下面有几个设置是关于二进制日志的:

  1. log-bin[=PATH/[FILENAME]]
  2. expire_logs_days=10
  3. max_binlog_size=100M
  4. server-id = 1//这一行必须要,因为数据库有主从之分

log-bin定义开启二进制日志;path表明日志文件所在的目录路径;
filename指定了日志文件的名称,如文件的全名是filename.0001,filename.0002等
除了上述文件之外,还有一个成为filename.index的文件,文件内容为所有日志的清单,可以使用记事本打开该文件
expire_logs_days定义了mysql清除过期日志的时间,即二进制日志自动删除的天数。默认值为0,表示“没有自动删除”。当mysql启动或刷新二进制日志时可能删除该文件
max_binlog_size定义了单个文件的大小限制,如果二进制日志写入的内容大小超出给定值,日志就会发生滚动
(关闭当前文件,重新打开一个新的日志文件)。不能将该变量设置为大于1GB或小于4096字节。默认值是1GB

如何开启慢查询?

如果log_slow_queries状态为OFF, 说明当前并没有开启慢查询.
开启慢查询非常简单, 操作如下:
在[mysqld]中添加如下信息:

  1. [mysqld]
  2. log-slow-queries[=PATH/[FILENAME]]
  3. long_query_time = 4
  4. log-queries-not-using-indexes

log-slow-queries: 代表MYSQL慢查询的日志存储目录, 此目录文件一定要有写权限;
long_query_time: 最长执行时间. (如图, MSYQL将记录下所有执行时间超过2条的SQL语句, 此处为测试时间, 时间不应太小最好在5-10秒之内, 当然可以根据自己的标准而定);
log-queries-not-using-indexes :没有使用到索引的查询也将被记录在日志中
配置好以后重新启动Mysql服务
service mysqld restart

来自为知笔记(Wiz)

时间: 2024-08-24 16:04:31

Mysql日志操作的相关文章

MySQL日志

mysql日志=====默认为数据目录下 1.错误日志(记录错误信息) show variables like '%log%'; log_error = /database/mydata/server1.err   ======默认为数据目录2.访问日志(记录客户端执行的语句)====文本记录 general_log = on general_log_file = /database/mydata/server1.log 3.二进制日志(记录对数据库的操作)===只记录数据改变的命令==upda

如何查询MySql日志

如何查询MySql日志 分类: mysql2012-02-23 19:14 26756人阅读 评论(2) 收藏 举报 mysqlcommandprintingserversocketoutput 今天美国老板发来一封email,一句What happen to ...? 其他任何线索没有,我的给出答案,一一排查,看能否找到问题缘由或是恢复数据,更新问题?程序问题?结果都是没有头绪,最后想了下mysql的日志看能否看看,以前没看过mysql的日志,查查资料,最终皇天不负有心人,搞定了,现在总结下:

何时、怎样开启 MySql 日志?

假如你是一名 web 开发者.假设你想调试你的应用或提升其性能的话,那你须要去參考各种日志文件.日志是開始故障排除最好的选择.就著名的 MySql 数据库server而言,你须要參考下面日志文件: 错误日志:它包括了server执行时(当然也包括服务启动和停止时)所发生的错误信息 普通查询日志:这是一个记录 mysqld 在做什么(连接.断开,查询)的通用日志 慢查询日志:正如其名,它记录了 "慢" 的查询 SQL 语句 本文未涉及到二进制日志.二进制日志要求非常高的server硬件配

MySQL日志文件与分析

1.查询日志.慢查询日志.二进制日志对比 查询日志 general_log 会记录用户的所有操作,其中包含增删查改等 可以指定输出为表 慢查询日志 slow_log 只要超过定义时间的所有操作语句都记录 可以指定输出为表 二进制日志 log_bin 记录可能执行更改的所有操作 mysqlbinlog查看 2.日志的分析 2.1日志的存储 数据操作过程中,Mysqld是将接收到的语句按照接收的顺序(注意不是执行顺序)写到查询日志文件中.一条一条就类似这样: # Time: 070927 8:08:

MySQL日志审计 帮你揪出内个干坏事儿的小子

MySQL日志审计 帮你揪出内个干坏事的小子 简介 Part1:写在最前 MySQL本身并不像MariaDB和Percona一样提供审计功能,但如果我们想对数据库进行审计,去看是谁把我的数据库数据给删了,该怎么办呢?我们主要利用init-connect参数,让每个登录的用户都记录到我们的数据库中,并抓取其connection_id(),再根据binlog就能够找出谁干了那些破事儿. MariaDB如何审计,可移步: http://suifu.blog.51cto.com/9167728/1857

mysql日志管理

                            学习MYsql日志(一)       错误日志:       服务器启动和关闭过程中的信息 服务器运行过程中产生的错误信息 事件调度器运行一个事件时产生的(event)信息 在从服务器上启动或关闭从服务器进程时产生的信息 警告日志也会产生在错误日志(log_warnings) 一般查询日志: general_log general_log_file log log_output FILE 意思是指定文件中,还有两个值(log_output=

mysql引擎和mysql日志相关总结

mysql日志 01.错误日志: 可以在my.cnf里面配置: [mysqld_safe] log-error=/data/3306/mysql_qb3306.err 02.查询日志 普通查询日志:纪录客户端连接信息和执行的sql语句信息(由于占用内存,作用也不是很大,就一般是关着的) mysql> show variables like 'general_log%'; +------------------+--------------------------+ | Variable_name

MySQL日志系统

body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10px; padding-bottom: 10px; background-color: white; padding: 30px } body>*:first-child { margin-top: 0 !important } body>*:last-child { margin-bottom:

MySQL 日志的类型

MySQL日志类别:一般查询日志:log,general_log,log_output慢查询日志:查询执行的时长超过指定的查询,即为慢查询:错误日志:通常时指错误日志的相关信息,通常用服务器关闭和启动的日志信息,服务器运行过程中的错误信息,还可以记录警告信息.二进制日志:只是跟修改相关的操作,可以理解为一个重做日志,用于复制的基本凭据:中继日志:它其实跟复制相关的,与二进制日志几乎相同: 事物日志:随机I/O转换为顺序I/O,一般在两个文件存储,一个存满了就换另外一个存 查询日志 log={ON