Mysql日志管理笔记

合集下载

MySQL中的日志文件和错误日志处理

MySQL中的日志文件和错误日志处理

MySQL中的日志文件和错误日志处理在数据库管理系统中,日志文件和错误日志是非常重要的组成部分。

它们记录了数据库的操作和出现的错误,提供了故障排除和性能优化的重要依据。

本文将讨论MySQL中的日志文件和错误日志处理的相关知识。

一、日志文件的作用日志文件是用于记录数据库操作过程中的各种事件和状态变化的文件。

它可以帮助我们了解数据库的运行情况、追踪问题、恢复数据和评估性能。

MySQL中常见的日志文件包括二进制日志、错误日志、查询日志和慢查询日志等。

1. 二进制日志(Binary Log)二进制日志是MySQL中最重要的日志文件之一。

它记录了所有对数据库进行修改的事件,包括数据库的创建和删除、表的结构和数据的增删改等。

二进制日志的作用主要有两个方面:一是用于数据的增量备份和恢复,二是用于数据库的主从复制。

对于数据备份和恢复,二进制日志记录了数据库的所有修改操作,我们可以通过还原所有操作来达到恢复数据的目的。

而对于主从复制,二进制日志记录了主服务器上所有的修改操作,并通过网络将这些操作传输到从服务器上执行,从而保持主从数据库的一致性。

2. 错误日志(Error Log)错误日志记录了MySQL服务器在运行过程中发生的错误和警告信息。

它可以帮助我们快速发现和排除问题,提高系统的稳定性和可靠性。

错误日志中包含了关键的错误信息,如数据库连接失败、语法错误、整数溢出等,以及警告信息,如磁盘空间不足、线程死锁等。

对于错误日志的处理,通常情况下我们可以通过查看错误日志来定位和解决问题。

对于一些警告信息,我们可以根据需要采取相应的措施,如增加磁盘空间、优化查询语句等。

3. 查询日志(General Log)查询日志记录了所有的SQL语句和执行结果,它可以帮助我们了解数据库每一步的操作过程,包括查询语句、更新语句和事务等。

查询日志的作用主要是用于调试和性能优化。

通过查看查询日志,我们可以了解到哪些查询是频繁执行的,哪些查询需要优化,从而提高数据库的性能。

如何使用MySQL进行日志管理和审计

如何使用MySQL进行日志管理和审计

如何使用MySQL进行日志管理和审计引言:日志管理和审计是任何一个数据库管理系统中的关键组成部分。

MySQL作为一种广泛使用的关系型数据库管理系统,具备了强大的日志管理和审计功能。

本文将介绍如何使用MySQL进行日志管理和审计,并探讨其在保护数据安全和维护系统稳定性方面的重要作用。

一、日志管理的重要性1.1 什么是日志日志是数据库管理系统中记录各种重要事件和操作的一种记录形式。

在MySQL中,日志分为多种类型,包括二进制日志、错误日志、查询日志、慢查询日志等。

通过对这些日志的记录和分析,可以及时发现和解决数据库中的问题,对系统运行情况进行监控和调试。

1.2 日志管理的作用日志管理对于数据库管理系统来说具有重要意义。

其作用主要体现在以下几个方面:(1)问题排查和故障恢复:通过记录数据库的各种操作和事件,可以快速定位问题并进行故障恢复。

(2)性能优化:通过分析日志中的SQL语句和执行计划,可以找出影响性能的瓶颈,并进行相应优化。

(3)安全审计:可以对数据库的访问和操作进行审计和监控,加强数据安全保护。

(4)业务分析:通过分析日志中的用户访问情况和操作行为,可以为业务决策提供参考依据。

二、MySQL的日志类型及配置2.1 二进制日志(Binary Log)二进制日志记录了所有对数据库的更改操作,包括增删改操作和数据表结构的修改。

通过开启二进制日志,可以实现数据的增量备份和复制。

2.2 错误日志(Error Log)错误日志是MySQL记录各种错误和异常信息的地方,通过查看错误日志可以了解数据库中出现的各种错误情况和异常事件。

2.3 查询日志(General Query Log)查询日志记录了所有的查询操作语句,包括SELECT、INSERT、UPDATE、DELETE等操作。

通过开启查询日志,可以查看数据库中执行的所有SQL语句,方便进行性能分析和问题排查。

2.4 慢查询日志(Slow Query Log)慢查询日志是一种特殊的查询日志,只记录执行时间超过设置阈值的查询语句。

MySql的操作日志历史记录

MySql的操作日志历史记录

MySql的操作⽇志历史记录如何查看mysql数据库操作记录⽇志1、⾸先确认你⽇志是否启⽤了mysql>show variables like 'log_bin'。

2、如果启⽤了,即ON,那⽇志⽂件就在mysql的安装⽬录的data⽬录下。

3、怎样知道当前的⽇志mysql> show master status。

4、看⽇志⽂件⽤mysqlbinlog,shell>mysqlbinlog mail-bin.000001或者shell>mysqlbinlog mail-bin.000001 | tail,Windows 下⽤类似的。

MySQL的⽇志操作:1、⾸先,登陆mysql后,执⾏:show variables like 'log_bin'。

2、#错误⽇志log-errol开启⽅式:在my.ini的[mysqld]选项下:添加代码:log-error=E:\log-error.txt。

记录内容:主要是记录启动、运⾏或停⽌mysqld时出现的致命性问题,都是系统级的错误记录。

3、#查询⽇志:log,开启⽅式:在my.ini的[mysqld]选项下:添加代码:log=E:/mysql_log.txt。

4、#⽇志:log-bin,开启⽅式:在my.ini的[mysqld]选项下:添加代码:log-bin=E:/mysql_log_bin,记录内容:主要是记录所有的更改数据的语句,可使⽤mysqlbinlog命令恢复数据。

mysql查看历史执⾏的sql转载2015年08⽉31⽇ 18:23:11标签:15983查看mysql的语句,⽐较常⽤的⼤概是show processlist 命令了,但是这个对于查询时间⽐较长的语句⽐较有意义,对于⼀下⼦就能执⾏的语句真⼼拼不过⼿速啊.于是就只能从mysql的历史记录⾥⾯着⼿了.为了实现这个⽬的,我们需要修改/etc/f⽂件.在f中的[mysqld](其他地⽅可能⽆效)下插⼊log=/etc/tmp/mysql.log(⽇志的地址可以⾃⼰定义,不过不要在home⾥⾯,否则可能显⽰不出来,主要要有写的权限).然后要重启数据库,⽤service mysqld restart命令就可以了.这个log会将所有的执⾏语句记录下来,所以在数据库很忙的时候,这个⽇志可能变得很⼤,不宜查看.⽤tail -f /etc/tmp/mysql.log 命令可以持续观察执⾏语句,也可以将该⽂件下载下来慢慢看.=========================================另外还有⼀个慢查询历史记录,也在f⽂件⾥,配置语句为1234 log-slow-queries=/var/lib/mysql/slowquery.log long_query_time=5 log-queries-not-using-indexes其中log-slow-queries是慢查询历史记录的地址,long_query_time限定超过X秒才能加⼊到历史记录⾥⾯,log-queries-not-using-indexes限定没有使⽤索引的查询语句.这个⽇志由于记录语句不多,所以可以长期开启.MySQL的⽇志操作在MySQL的初期,需要熟练掌握sql语句的运⽤,最简单的⽅式就是多练习多运⽤,但是好需要有⼀定的⽬的性,什么意思呢?就是每个⼈的习惯不⼀样,可能容易犯的错误也不同,所以需要总结⾃⼰的常犯错误,有针对性的弥补,这样就会对MySQL的学习和掌握起到事半功倍的效果。

MySQL中的回滚日志与数据恢复方法详解

MySQL中的回滚日志与数据恢复方法详解

MySQL中的回滚日志与数据恢复方法详解MySQL是一种常用的关系型数据库管理系统,广泛应用于各个领域的数据存储和处理中。

在实际使用过程中,难免会遇到各种问题,例如数据误操作、系统崩溃等情况,这时候回滚日志和数据恢复就显得尤为重要。

本文将详细介绍MySQL中的回滚日志与数据恢复方法。

一、回滚日志回滚日志是MySQL用于支持事务的一种日志文件,记录了对数据库进行更新操作的详细信息。

当事务出现异常或被回滚时,回滚日志将被用于回滚操作,保证数据的一致性和完整性。

1.1 回滚日志的生成和写入在MySQL中,回滚日志由两部分组成:undo log和redo log。

undo log用于记录事务对数据进行的修改操作,而redo log则用于记录事务的持久化操作。

当事务进行修改时,undo log会先将被修改的数据备份到回滚日志中,然后进行实际的修改操作。

如果事务发生回滚,可以通过回滚日志将数据还原至事务开始之前的状态。

回滚日志的写入是在事务进行时实时进行的,MySQL使用了WAL(Write Ahead Logging)机制,即先写入日志再修改数据。

这样可以确保在发生系统崩溃等异常情况时,通过回滚日志可以恢复到崩溃之前的数据状态。

1.2 回滚日志的存储和管理MySQL将回滚日志以文件的形式进行存储,通常存储在数据目录下的data文件夹中。

回滚日志文件的命名格式为"ib_logfile"加上一个数字标识,例如"ib_logfile0"、"ib_logfile1"等。

回滚日志文件的大小是固定的,可以通过配置文件进行设置。

当回滚日志已满时, MySQL会自动关闭回滚日志,并创建新的回滚日志文件继续记录。

由于回滚日志对数据一致性和完整性至关重要,因此在进行MySQL升级等操作时,务必要备份好现有的回滚日志文件,以免造成数据丢失。

二、数据恢复方法当MySQL数据库出现异常,例如数据误操作、系统崩溃等情况,往往需要进行数据恢复操作。

mysql的日志类型

mysql的日志类型

mysql的日志类型MySQL有多种日志类型,用于记录数据库的不同操作和事件。

以下是常见的MySQL日志类型:1. 二进制日志(Binary Log):-记录数据库的所有修改操作,如INSERT、UPDATE、DELETE。

-用于主从复制和点播恢复。

2. 错误日志(Error Log):-记录MySQL服务器的错误信息、警告和通知。

-包含有关发生错误的上下文信息。

3. 查询日志(Query Log):-记录所有的查询语句,包括对表的读取操作。

-可以通过设置`log_queries_not_using_indexes`选项来启用。

4. 慢查询日志(Slow Query Log):-记录执行时间超过指定时间阈值的查询。

-通过设置`slow_query_log`选项来启用。

5. 中继日志(Relay Log):-用于主从复制,存储从主服务器接收的二进制日志事件。

-在从服务器上执行这些事件,以保持从服务器与主服务器的同步。

6. 事务日志(Transaction Log):-记录事务的开始和结束。

-主要用于InnoDB存储引擎,支持事务的回滚和恢复。

7. 错误信息日志(General Query Log):-记录所有的查询和客户端的连接信息。

-可以通过设置`general_log`选项来启用。

8. InnoDB状态日志(InnoDB Status Log):-记录InnoDB存储引擎的状态信息,如锁和事务信息。

-可以通过执行`SHOW ENGINE INNODB STATUS`来查看。

这些日志类型允许数据库管理员监视和调试MySQL服务器的运行状态,同时提供了故障排除和性能优化的工具。

(转)MySQL学习笔记-redolog和binlog两阶段提交

(转)MySQL学习笔记-redolog和binlog两阶段提交

(转)MySQL学习笔记-redolog和binlog两阶段提交原⽂:https:///qq_38937634/article/details/113100472?utm_term=mysql%E6%97%A5%E5%BF%97%E4%B8%A4%E9%98%B6%E6%AE%B5%E6%8F%90%E4%BA%A4&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-2-113100472&spm=3001.4430⽂章⽬录MySQL学习笔记-redo log 和 binlog&两阶段提交1.笔记图2.⼀条更新语句是如何被执⾏的3.redo log4.binlog5.为什么要有两份⽇志?6.更新语句内部执⾏流程7.两阶段提交MySQL学习笔记-redo log 和 binlog&两阶段提交前⾯学习了⼀条查询语句的执⾏过程⼀般是经过连接器、分析器、优化器、执⾏器等功能模块,最后到达存储引擎,⽽⼀条更新语句的执⾏流程也会按照查询查询语句的流程⾛⼀遍,但更新语句会涉及到两个⽇志模块,分别是 redo log 和 binlog,这篇⽂章学习⼀下这两个⽇志的作⽤。

1.笔记图2.⼀条更新语句是如何被执⾏的连接器:负责跟客户端建⽴连接、获取权限、维持和管理连接分析器:词法分析:识别出 SQL 语句⾥⾯的字符串分别代表什么,把 SQL 语句中字符串 T 识别成“表名 T,把字符串 ID 识别成列 ID语法分析:根据词法分析的结果,语法分析器会根据语法规则,判断你输⼊的这个 SQL 语句是否满⾜ MySQL 语法优化器:优化器是在表⾥⾯有多个索引的时候,决定使⽤哪个索引,或者在⼀个语句有多表关联(join)的时候,决定各个表的连接顺序执⾏器:调⽤存储引擎提供的接⼝3.redo logWAL(Write-Ahead Logging):先写⽇志,再写磁盘当有记录需要更新时,InnoDB 引擎就会先把记录写到 redo log,并更新内存,这时更新就算完成InnoDB 的 redo log 是固定⼤⼩的,可以配置为⼀组 4 个⽂件,每个⽂件的⼤⼩是 1GB,从头开始写,写到末尾就⼜回到开头循环写Tips:write pos 表⽰当前记录的位置,写到第 3 号⽂件末尾后就回到 0 号⽂件开头,checkpoint 表⽰当前要擦除的位置,擦除记录前要把记录更新到数据⽂件如果 write pos 追上 checkpoint,表⽰ redo log 满了,这时不能再执⾏新的更新,得停下来先擦掉⼀些记录,把 checkpoint 推进⼀下crash-safe:InnoDB 就可以保证即使数据库发⽣异常重启,之前提交的记录都不会丢失4.binlogMySQL Server 层也有⾃⼰的⽇志,称为归档⽇志(binlog),binlog ⽇志只能⽤于归档redo log 是 InnoDB 引擎特有的,binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使⽤redo log 是物理⽇志,记录的是在某个数据页上做了什么修改,binlog 是逻辑⽇志,记录的是这个语句的原始逻辑,⽐如给 ID=2 这⼀⾏的 c 字段加 1redo log 是循环写的,空间固定会⽤完,binlog 是可以追加写⼊的,binlog ⽂件写到⼀定⼤⼩后会切换到下⼀个,并不会覆盖以前的⽇志5.为什么要有两份⽇志?最开始 MySQL ⾥并没有 InnoDB 引擎,MyISAM 没有 crash-safe 的能⼒,binlog ⽇志只能⽤于归档InnoDB 是另⼀个公司以插件形式引⼊ MySQL 的,使⽤另外⼀套⽇志系统 redo log 来实现 crash-safe 能⼒6.更新语句内部执⾏流程update T set c=c+1 where ID=2执⾏器先找引擎取 ID=2 这⼀⾏,ID 是主键,引擎直接⽤树搜索找到这⼀⾏,如果 ID=2 这⼀⾏所在的数据页本来就在内存中,就直接返回给执⾏器,否则,需要先从磁盘读⼊内存,然后再返回执⾏器拿到引擎给的⾏数据,把这个值加上 1,⽐如原来是 N,现在就是 N+1,得到新的⼀⾏数据,再调⽤引擎接⼝写⼊这⾏新数据引擎将这⾏新数据更新到内存中,同时将这个更新操作记录到 redo log ⾥⾯,此时 redo log 处于 prepare 状态。

mysql:管理mysql的二进制日志(mysql8.0.19)

mysql:管理mysql的二进制日志(mysql8.0.19)

mysql:管理mysql的⼆进制⽇志(mysql8.0.19)⼀,从命令⾏查看mysql的⽇志⽂件:[root@d1 var]# lltotal 174188296-rw-rw---- 1 mysql mysql 1074435802 Jul 62019 mysql-bin.000001-rw-rw---- 1 mysql mysql 1074418575 Jul 62019 mysql-bin.000002-rw-rw---- 1 mysql mysql 1073741960 Jul 262019 mysql-bin.000003-rw-rw---- 1 mysql mysql 977965714 Aug 22019 mysql-bin.000004-rw-rw---- 1 mysql mysql 126 Aug 22019 mysql-bin.000005-rw-rw---- 1 mysql mysql 1073742455 Aug 72019 mysql-bin.000006-rw-rw---- 1 mysql mysql 1073742104 Aug 132019 mysql-bin.000007-rw-rw---- 1 mysql mysql 1073742124 Aug 192019 mysql-bin.000008-rw-rw---- 1 mysql mysql 1073742327 Sep 72019 mysql-bin.000009-rw-rw---- 1 mysql mysql 638874522 Sep 182019 mysql-bin.000010-rw-rw---- 1 mysql mysql 949280 Sep 182019 mysql-bin.000011-rw-rw---- 1 mysql mysql 1074508569 Sep 232019 mysql-bin.000012-rw-rw---- 1 mysql mysql 1073741886 Sep 262019 mysql-bin.000013-rw-rw---- 1 mysql mysql 1073742102 Oct 182019 mysql-bin.000014-rw-rw---- 1 mysql mysql 1073741907 Nov 82019 mysql-bin.000015-rw-rw---- 1 mysql mysql 1073742207 Nov 292019 mysql-bin.000016-rw-rw---- 1 mysql mysql 1073741927 Dec 202019 mysql-bin.000017-rw-rw---- 1 mysql mysql 1073742057 Jan 112019 mysql-bin.000018-rw-rw---- 1 mysql mysql 473988798 Jan 182019 mysql-bin.000019-rw-rw---- 1 mysql mysql 2055287 Jan 182019 mysql-bin.000020-rw-rw---- 1 mysql mysql 29439 Jan 182019 mysql-bin.000021...说明:⼆进制⽇志⽂件的路径在mysql的配置⽂件中定义:[dbop@d1 var]$ more /etc/f...# BINARY LOGGING #log-bin = /data/mysql/var/mysql-bin说明:刘宏缔的架构森林是⼀个专注架构的博客,地址:对应的源码可以访问这⾥获取:说明:作者:刘宏缔邮箱: 371125307@⼆,执⾏清理⼆进制⽇志的sql1,登录到mysql[root@d1 ~]# mysql -u root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.2,查看⼆进制⽇志mysql> show binary logs;+------------------+------------+| Log_name | File_size |+------------------+------------+| mysql-bin.000001|1074435802|| mysql-bin.000002|1074418575|| mysql-bin.000003|1073741960|| mysql-bin.000004|977965714|| mysql-bin.000005|126|| mysql-bin.000006|1073742455|| mysql-bin.000007|1073742104|| mysql-bin.000008|1073742124|| mysql-bin.000009|1073742327|...3,清理⼆进制⽇志删除mysql-bin.000020之前的⽇志,但不包含mysql-bin.000020本⾝mysql> purge binary logs to'mysql-bin.000020';Query OK, 0 rows affected (32.63 sec)4,查看purge的帮助:mysql> help purge binary logsName: 'PURGE BINARY LOGS'Description:Syntax:PURGE { BINARY | MASTER } LOGS{ TO 'log_name' | BEFORE datetime_expr }The binary log is a set of files that contain information about data modifications made by the MySQL server. The log consists of a set of binary log files, plus an index file (see/doc/refman/5.5/en/binary-log.html).The PURGE BINARY LOGS statement deletes all the binary log files listedin the log index file prior to the specified log file name or date.BINARY and MASTER are synonyms. Deleted log files also are removed from the list recorded in the index file, so that the given log file becomesthe first in the list.This statement has no effect if the server was not started with the--log-bin option to enable binary logging.URL: /doc/refman/5.5/en/purge-binary-logs.html Examples:PURGE BINARY LOGS TO 'mysql-bin.010';PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';5,其他:reset master会删除所有的⼆进制⽇志,所以如果有主从复制时不要使⽤这个处理⽅法6,如何⾃动清理?#使⼆进制⽇志超过14天后⾃动过期expire-logs-days = 14三,查看mysql的版本mysql> SHOW VARIABLES LIKE'version';+---------------+-----------------+| Variable_name | Value |+---------------+-----------------+| version | 8.0.19-log|+---------------+-----------------+1 row in set (0.00 sec)四,查看linux的版本:[dbop@d1 var]$ more /etc/redhat-releaseCentOS release 8.1 (Final)。

mysql三种日志

mysql三种日志

mysql三种⽇志1. MySQL⽇志之binlog⽇志1.1 mysql⼯具mysqlbinlogmysqbinlog⼯具的作⽤是解析mysql的⼆进制binlog⽇志内容,把⼆进制的⽇志解析成可以在MySQL数据库⾥执⾏的SQL语句。

1.2 MySQL的·binlog⽇志是什么?MySQL数据⽬录下的如下⽂件就是mysql的binlog⽇志mysql-bin.000001mysql-bin.000002mysql-bin.000003mysql-bin.000004mysql-bin.000005mysql-bin.000006mysql-bin.000007mysql-bin.000008. . . . . .. .提⽰:要想⽣成binlog必须在配置⽂件中打开log-bin功能[root@db01 3306]# greplog-bin /data/3306/flog-bin =/data/3306/mysql-bin1.3 mysql binlog⽇志功能开启[root@db01 3306]# vim /data/3306/flog-bin = /data/3306/mysql-bin1.4 mysql的binlog⽇志作⽤是什么?mysql的binlog⽇志作⽤是⽤来记录mysql内部增删等对mysql数据库有更新的内容的记录(对数据的改动),对数据库查询的语句如show,select开头的语句,不会被binlog⽇志记录。

⽤于数据库的主从复制,以及增量恢复。

测试题:在MySQL数据库中,关于binlog⽇志,下列说法正确的是-----------(A)A:依靠⾜够长度的binlog⽇志和定期的全备,我们可以恢复任何时间点的单表数据。

B:以mysql主从同步为例,binlog中会记录主数据库的所有操作。

C:以mysql主从同步为例,binlog中会记录主数据库的所有查询操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Mysql日志管理笔记(5.7版本)wangzz四种日志文件:1,二进制日志:以二进制形式记录数据库的各种操作,但不记录查询语句.2,错误日志: 该日志文件记录mysql服务器启动,关闭和运行时的出错等信息。

3,通用查询日志:记录mysql启动,关闭,及客户端的连接信息,更新数据记录sql语句和查询数据记录sql语句.4,慢查询日志:记录执行时间超过指定时间的各种操作,通过工具分析慢查询日志可以定位性能瓶颈。

1,二进制日志1)启动二进制日志/etc/f 文件。

[mysqld]log-bin[=dir/[filename]]server_id=100log-bin=/export/app/log/binlog/binlog.log重启服务就可以启动二进制日志文件,如果启动不了。

看log-error日志,你会时到重启不了的原因mysql> show variables like '%bin%';+-----------------------------------------+-------------------------------------+| Variable_name | Value |+-----------------------------------------+-------------------------------------+| bind_address | * || binlog_cache_size | 32768 || binlog_checksum | CRC32 || binlog_direct_non_transactional_updates | OFF || binlog_error_action | ABORT_SERVER || binlog_format | ROW || binlog_group_commit_sync_delay | 0 || binlog_group_commit_sync_no_delay_count | 0 || binlog_gtid_simple_recovery | ON || binlog_max_flush_queue_time | 0 || binlog_order_commits | ON || binlog_row_image | FULL || binlog_rows_query_log_events | OFF || binlog_stmt_cache_size | 32768 || innodb_api_enable_binlog | OFF || innodb_locks_unsafe_for_binlog | OFF || log_bin | ON || log_bin_basename | /export/app/log/binlog/binlog || log_bin_index | /export/app/log/binlog/binlog.index || log_bin_trust_function_creators | OFF || log_bin_use_v1_row_events | OFF || log_statements_unsafe_for_binlog | ON || max_binlog_cache_size | 18446744073709547520 || max_binlog_size | 1073741824 || max_binlog_stmt_cache_size | 18446744073709547520 || sql_log_bin | ON || sync_binlog | 1 |+-----------------------------------------+-------------------------------------+27 rows in set (0.00 sec)查看二进制日志文件[root@risoserverbinlog]# mysqlbinlog binlog.000001停止二进制日志文件(ROOT用户权限)方法1,/etc/f 文件删除bin-log行。

重启服务就可以了。

方法2,SET SQL_LOG_BIN=0 暂停二进制日志文件SET SQL_LOG_BIN=1 开启二进制日志文件删除二进制日志文件RESET MASTER;删除所有PURGE MASTER LOGS TO filename.number,例: purge master logs to 'binlog.000003'; 删除编号少于000003的所有二进制BINlog文件PURGE MASTER LOGS BEFORE 'YYYY-MM-DD HH:MM:SS'例: purge master logs befor '2016-08-29 18:00:01' 删除上述时间之前的所有二进制文件2)错误日志文件启动错误日志文件:默认开启,无法禁止,就算my.ini文件不设定它。

照样存在数据库中,保存默认数据库数据文件里。

当然也可以修改此路径。

log-error=/export/app/log/errorlog/errorlog.log 注意创建目录,以及更改权限目录,重启服务即可。

查看错误日志文件:普通文本文件停止错误日志文件:无法停止删除错误日志文件:mysqladmin -u root -p flush-logs 创建一个新的,然后将旧的更名为filename.err-old,再由管理员来确认是否手工删除该文件.3)通用查询日志(因为记录所有客户端连接及操作库信息,信息量大。

影响数据库性能,一般建议关闭)通用查询日志可以存放到一个文本或一个表中,所有连接的语句都被记录到该日志文件或者表中,缺省未开启。

通过 --log[=file_name]或-l [file_name]选项启动它。

如果没有给定file_name的值,默认名是host_name.log。

mysqld按照它接收的顺序记录语句到查询日志。

这可能与执行的顺序不同。

不同于更新日志和二进制日志,它们在查询执行后,但是任何一个锁释放之前记录日志。

查询日志包含所有语句,而二进制日志不包含只查询数据的语句。

服务器重新启动和日志刷新不会产生新的一般查询日志文件。

启动通用查询日志: 默认关闭,启动设定/etc/f 文件:log_output=[none|file|table|file,table] #通用查询日志输出格式general_log=[on|off] #是否启用通用查询日志general_log_file[=filename] #通用查询日志位置及名字例: general_log_file=/export/app/log/generallog/risoserver.log默认是在数据库文件中,更改后我们可以查询一次.mysql> show variables like '%version%';+-------------------------+------------------------------+| Variable_name | Value |+-------------------------+------------------------------+| innodb_version | 5.7.14 || protocol_version | 10 || slave_type_conversions | || tls_version | TLSv1,TLSv1.1 || version | 5.7.14-log || version_comment | MySQL Community Server (GPL) || version_compile_machine | x86_64 || version_compile_os | Linux |+-------------------------+------------------------------+8 rows in set (0.01 sec)mysql> show variables like '%general%'; --更改前+------------------+----------------------------------+| Variable_name | Value |+------------------+----------------------------------+| general_log | OFF || general_log_file | /export/app/mysql/risoserver.log |+------------------+----------------------------------+2 rows in set (0.00 sec)mysql> show variables like '%general_%';+------------------+-------------------------------------------+| Variable_name | Value |+------------------+-------------------------------------------+| general_log | OFF | --这个时候只是更改了路径,但默认还是未开启状态。

| general_log_file | /export/app/log/generallog/risoserver.log | --这是更改后的。

+------------------+-------------------------------------------+2 rows in set (0.00 sec)[root@risoservererrorlog]# ls /export/app/log/generallog/risoserver.logls: cannot access /export/app/log/generallog/risoserver.log: No such file or directory --未产生文件启动通用查询日志:mysql> set @@global.general_log=1; --开启,0 是关闭停止通用查询日志:Query OK, 0 rows affected (0.03 sec)mysql> show variables like '%general%';+------------------+-------------------------------------------+| Variable_name | Value |+------------------+-------------------------------------------+| general_log | ON || general_log_file | /export/app/log/generallog/risoserver.log |+------------------+-------------------------------------------+2 rows in set (0.00 sec)[root@risoservererrorlog]# ls /export/app/log/generallog/risoserver.log/export/app/log/generallog/risoserver.log --文件已经生成[root@risoservererrorlog]# mysql -uroot -p1111mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 5Server version: 5.7.14-log MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help.Type '\c' to clear the current input statement.mysql> use mysqlReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select user,host from user;+-----------+--------------+| user | host |+-----------+--------------+| root | % || mysql.sys | 192.168.1.54 || nono | 192.168.1.54 || wangzz | 192.168.1.54 |+-----------+--------------+4 rows in set (0.00 sec)mysql> drop user nono;ERROR 1396 (HY000): Operation DROP USER failed for 'nono'@'%'mysql> drop user 'nono'@'192.168.1.54';Query OK, 0 rows affected (0.02 sec)mysql> exitBye[root@risoservererrorlog]# more /export/app/log/generallog/risoserver.log查看通用查询日志:/usr/sbin/mysqld, Version: 5.7.14-log (MySQL Community Server (GPL)). started with:Tcp port: 3306 Unix socket: /export/app/mysql/mysql.sockTime Id Command Argument2016-08-30T07:41:11.888155Z 4 Query show variables like '%general%'2016-08-30T07:41:37.164497Z 4 Quit2016-08-30T07:43:00.028798Z 5 Connect root@localhoston using Socket2016-08-30T07:43:00.029097Z 5 Query select @@version_comment limit 12016-08-30T07:43:07.815420Z 5 Query SELECT DATABASE()2016-08-30T07:43:07.824000Z 5 Init DB mysql2016-08-30T07:43:07.825750Z 5 Query show databases2016-08-30T07:43:07.844654Z 5 Query show tables2016-08-30T07:43:07.845260Z 5 Field List columns_priv2016-08-30T07:43:07.845635Z 5 Field List db2016-08-30T07:43:07.846286Z 5 Field List engine_cost2016-08-30T07:43:07.846707Z 5 Field List event2016-08-30T07:43:07.847342Z 5 Field List func2016-08-30T07:43:07.847632Z 5 Field List general_log2016-08-30T07:43:07.848020Z 5 Field List gtid_executed2016-08-30T07:43:07.848334Z 5 Field List help_category2016-08-30T07:43:07.849232Z 5 Field List help_keyword2016-08-30T07:43:07.855902Z 5 Field List help_relation2016-08-30T07:43:07.856912Z 5 Field List help_topic2016-08-30T07:43:07.896056Z 5 Field List innodb_index_stats2016-08-30T07:43:07.896976Z 5 Field List innodb_table_stats2016-08-30T07:43:07.900019Z 5 Field List ndb_binlog_index2016-08-30T07:43:07.901291Z 5 Field List plugin2016-08-30T07:43:07.901523Z 5 Field List proc2016-08-30T07:43:07.908515Z 5 Field List procs_priv2016-08-30T07:43:07.908906Z 5 Field List proxies_priv2016-08-30T07:43:07.909355Z 5 Field List server_cost2016-08-30T07:43:07.909675Z 5 Field List servers2016-08-30T07:43:07.910154Z 5 Field List slave_master_info2016-08-30T07:43:07.911203Z 5 Field List slave_relay_log_info2016-08-30T07:43:07.911706Z 5 Field List slave_worker_info2016-08-30T07:43:07.912408Z 5 Field List slow_log2016-08-30T07:43:07.927753Z 5 Field List tables_priv2016-08-30T07:43:07.928191Z 5 Field List time_zone2016-08-30T07:43:07.928505Z 5 Field List time_zone_leap_second2016-08-30T07:43:07.928825Z 5 Field List time_zone_name2016-08-30T07:43:07.929068Z 5 Field List time_zone_transition2016-08-30T07:43:07.929406Z 5 Field List time_zone_transition_type2016-08-30T07:43:07.929887Z 5 Field List user2016-08-30T07:43:27.363704Z 5 Query select user,host from user2016-08-30T07:43:35.350455Z 5 Query drop user nono --没执行的语句也进去了。

相关文档
最新文档