MySQL之日志文件

MySQL主要有以下几种日志类型:

  • 错误日志——MySQL服务启动和关闭过程中的信息以及其它错误和警告信息。默认在数据目录下。
  • 一般查询日志——用于记录select查询语句的日志。general_log、general_log_file 默认关闭,建议关闭。
  • 慢查询日志——log-slow-queries记录所有超过long_query_time时间的SQL语句,
  • 二进制日志——记录任何引起数据变化的操作,用于备份和还原。默认存放在数据目录中,在刷新和服务重启时会滚动二进制日志。
  • 中继日志——从主服务器的二进制文件中复制的事件,并保存为二进制文件,格式和二进制日志一样。
  • 事务日志——保证事务的一致性。

慢查询日志:

mysql> show variables like "long%";                    #查看慢查询日志信息

+-----------------+----------+

| Variable_name   | Value    |

+-----------------+----------+

| long_query_time | 3.000000 |

+-----------------+----------+

1 row in set (0.13 sec)

mysql> show variables like "slow%";                    #查看慢查询日志设置

+---------------------+-----------------------------+

| Variable_name       | Value                       |

+---------------------+-----------------------------+

| slow_launch_time    | 2                           |

| slow_query_log      | OFF                         |

| slow_query_log_file | /data/mysql/slave2-slow.log |

+---------------------+-----------------------------+

3 rows in set (0.06 sec)

mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log #查看访问最多的10个SQL

mysql> set long_query_time=5;                           #慢查询时间设置,永久改变需要更改

Query OK, 0 rows affected (0.25 sec)                    配置文件

二进制日志:

mysql> show global variables like "%log%";              #查看日志相关变量

mysql> show variables like "%log_bin%";                 #查看二进制变量

+---------------------------------+-------+

| Variable_name                   | Value |

+---------------------------------+-------+

| log_bin                         | OFF   |

| log_bin_basename                |       |

| log_bin_index                   |       |

| log_bin_trust_function_creators | OFF   |

| log_bin_use_v1_row_events       | OFF   |

| sql_log_bin                     | ON    |

+---------------------------------+-------+

[[email protected] mysql]# vim /etc/my.cnf

log_bin                                                #去掉注释,开启二进制日志

[[email protected] mysql]# service mysqld restart

mysql> show binary logs;                               #查看所有二进制日志文件

+-------------------+-----------+

| Log_name          | File_size |

+-------------------+-----------+

| slave2-bin.000001 |       168 |

| slave2-bin.000002 |       120 |

+-------------------+-----------+

mysql> show master status;                             #查看当前使用的二进制日志

+-------------------+----------+--------------+------------------+-------------------+

| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+-------------------+----------+--------------+------------------+-------------------+

| slave2-bin.000002 |      120 |              |                  |                   |

+-------------------+----------+--------------+------------------+-------------------+

1 row in set (0.03 sec)

mysql> flush logs;                                     #刷新二进制日志

Query OK, 0 rows affected (0.17 sec)

[[email protected] mysql]# mysqlbinlog mysql-bin.00001;     #显示二进制文件内容

mysql> show global status like ‘%Slow_queries%‘;       #查看慢查询日志数目

时间: 2024-12-20 16:23:56

MySQL之日志文件的相关文章

mysql 的日志文件

mysql的日志文件 日志文件大致分为  error log, binary log, query log, slow query log, innodb redo log ;如图: 1.error log the error log file contains information indicating when mysqld was started and stopped also any critical errors that occur while the server is run

[转载]mysql慢日志文件分析处理

原文地址:mysql慢日志文件分析处理作者:maxyicha mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数. 如果在my.cnf里面修改,需增加如下几行long_query_time = 10log-slow-queries = long_query_time 是指执行超过多久的sql会被log下来,这里是10秒.log-slow-queries 设置把日志写在那里,为空的时候,

使用logrotate对MySQL指定日志文件执行按天轮转备份

根据自己的需要可以对MySQL的相关日志文件(错误日志.通用查询日志文件和慢查询日志文件)进行按天的转储,并只保留指定天数的备份文件,下面是一个例子: 1).安装 crond 服务 (如果未安装   yum install logrotate crontabs) rpm  -qa  |  grep crontabs yum  install  crontabs chkconfig  crond  --list   #如果未设置为自动重启这执行如下命令修改 chkconfig  crond  on

MySQL 重做日志文件

一.innodb log的基础知识 · innodb log顾名思义:即innodb存储引擎产生的日志,也可以称为重做日志文件,默认在innodb_data_home_dir下面有两个文件ib_logfile0和ib_logfile1.MySQL官方手册中将这两个文件叫文InnoDB存储引擎的日志文件: · innodb log的作用:当MySQL的实例和介质失败的时候,Innodb存储引擎就会使用innodb log文件进行恢复,保证数据库的完整性: · innodb log的写原理:(请容许

MySQL二进制日志文件过期天数设置说明

今天在处理业务库中二进制文件的时候,想更改二进制文件的过期天数,发现日期如果设置成2位以上的整数.都会出现如下的警告.不能成功的设置过期日期天数.MySQL版本从5.1到5.5都是一样的. mysql> set global expire_logs_days=100; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> show warnings; +---------+------+--------------------------

mysql二进制日志文件清理以及 管理

1:二进制日志 二进制日志记录了所有的DDL(数据定义语言)语句和DML(数据操作语言)语句,但是不记录包括数据查询的语句.语句以"事件"的形式保存,它描述了数据的更改过程,此日志对于灾难时的数据恢复起着极其重要的作用 2:日志的位置和格式 当用-log-bin[=file_name]选项启动时,mysqld将包含所有更新数据的SQL命令写入日志文件.如果没有给出file_name值,默认名为主机名后面跟_bin,如果给出了文件名,但没有包含路劲,则文件默认被写入参数DATADIR(数

mysql二进制日志文件详解

一.mysql的二进制日志文件 二.查看二进制日志文件信息: 1.查看二进制日志文件是否开启:show variables like 'log_bin'; 2.查看所有二进制日志文件的列表:show binary logs; 3.查看当前二进制日志文件的名称(最后一个):show master status; 4.获取最新日志文件命令:flush logs.会重新生成一个最新的日志文件. 5.清空当前二进制日志命令:reset master.每执行一次就删除当前的一个日志文件,每次删除一个文件.

Linux系统 mysql开启日志文件

1. 打开mysql配置文件 sudo vi /etc/mysql/mysql.conf.d/mysql.cnf 关闭这两行的注释 2.重新启动mysql服务 sudo service mysql restart 3.查看mysql日志文件 less /var/log/mysql/mysql.log tail -F /var/log/mysql/mysql.log 原文地址:https://www.cnblogs.com/hanwenlin/p/11629344.html

利用mysql数据库日志文件获得webshell

查看配置 show variables like '%general%'; 开启日志功能 set GLOBAL general_log='ON'; 设置日志存储路径 SET GLOBAL general_log_file='C:/phpStudy/www/xxx.php'; 执行sql语句,写入日志文件 成功写入 原文地址:https://www.cnblogs.com/mrhonest/p/11769701.html