mysql日志怎么写,mysql的日志

如何在MySql中记录SQL日志记录

1、配置my.ini文件

做网站、成都网站建设中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联专业成都网站建设十余年了,客户满意度97.8%,欢迎成都创新互联客户联系。

查找到[mysqld]区段,增加日志的配置,如下示例:[mysqld]log=C:/temp/mysql.log

log_slow_queries=C:/temp/mysql_slow.log

long_query_time=1

log指示日志文件存放目录;

log_slow_queries指示记录执行时间长的sql日志目录;

long_query_time指示多长时间算是执行时间长,单位s。

Linux下这些配置项应该已经存在,只是被注释掉了,可以去掉注释,也可直接添加配置项

2 、重新启动mysql服务。注意事项:A日志存放目录必须提前存在,否则不能记录日志。这里也局势C:/temp目录必须已经存在

B 日志文件是linux格式的文本,建议用ultraEdit打开,转换为dos格式查看(否则没有换行,看不懂的)

C 服务在启动状态下不能删除日志文件,否则就无法记录sql语句了。

D 不能用ultraEdit直接清除文件内容后保存,否则也记录不下来了。需要重启服务,如果ultraEdit保存了.bak,后记录到此文件中。

E 可以用notepad清除文本后保存,可以继续记录日志。

MySQL软件的日志操作介绍

方法/步骤

1、首先,登陆mysql后,执行sql语句:

show

variables

like

'log_bin';

查看是否日志开启,详细结果如图:

2、#错误日志

log-error

开启方式:

在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命令恢复数据。如图:

#慢日志

log-slow-queries

开启方式:

在my.ini的[mysqld]选项下:

添加代码:

long_query_time

=1

(设定慢查询的标准,单位是s/秒)

log-slow-queries=

E:/mysql_log_slow.txt

记录内容:

主要是记录所有执行时间超过long_query_time的查询或没有使用索引的查询如图:

以上就是专题栏小编带来的mysql中文版教程,更多教程请看“”

mysql.log日志放在哪

MySQL日志在哪

MySQL日志一般保存在/var/log/目录下,但还需要看具体的配置文件才能确定,具体方法如下:

1、首先登陆 mysql:mysql -u root -p

2、然后查看是否启用了日志mysqlshow variables like 'log_%';

3、查看当前的日志mysql show master status;

4、你需要知道的mysql的日志类型:错误日志: -log-err

查询日志: -log

慢查询日志: -log-slow-queries

更新日志: -log-update

二进制日志: -log-bin

5、修改配置/etc/my.cnf(以下为日志文件保存位置)[mysqld]

log=/var/log/mysqld_common.log

log-error=/var/log/mysqld_err.log

log-bin=/var/log/mysqld_bin.bin

MySQL三种重要日志

日志是MySQL的重要组成部分,其中对于开发而言不得不关注三种重要的日志,分别是二进制日志(bin log)、事务日志(redo log、undo log)。接下来详细介绍这三种日志。

binlog叫做二进制日志,主要是用于记录MySQL表的逻辑变化过程。在实际应用过程中,通常被用于主从复制和数据恢复。

事务执行过程中,会先把日志写到binlog cache,事务提交的时候,再把binlog cache写到binlog文件中。

事务提交后的写入只是写入到文件系统的page cache,并没有把数据持久化到磁盘。持久化磁盘由操作系统决定调用fsync。

MySQL提供了配置决定fsync的时机,当sync_binlog=0的时候,每次提交事务只写入page cache,不执行fsync。当sync_binlog=1的时候,表示每次提交事务都会执行fsync。当sync_binlog = N的时候,每次提交事务都写入page cache,累计多个事务才进行fsync。

显然,当sync_binlog = 1的时候,binlog日志不会丢失。当sync_binlog = N的时候,如果发生异常重启,会丢失N个事务的binlog日志。

STATEMENT

记录数据操作的原始SQL,可能引发主库备库因索引选择不一致,导致数据执行结果不一致。

ROW

ROW基于行复制,只记录哪条数据被修改.缺点:占空间。比如DELETE 语句,对于STATEMENT只占用1条SQL。而ROW格式则需要把所有记录的数据记录下来。

MIXED

对于可能引发主备不一致的命令使用ROW格式,否则使用STATEMTNT

对于每一次更新操作,MySQL都需要写入磁盘,然后需要找到对应那条记录并更新。IO成本较高和查找成本都很高。为了提高性能,MySQL会将更新操作写入redo log,并更新内存。INNODB引擎会在适当的时候将操作记录更新到磁盘。

[图片上传失败...(image-c6a1f2-1627716309698)]

undo log主要是记录了数据的逻辑变化,比如对应一条insear语句,undo log会记录一条delete语方便回退到更新前的值。

时刻A发生故障的话,由于binlog未写入,redo log回滚数据,两个日志数据是一致的。

时刻B发生故障,则需要判断binlog是否完整来决定如何恢复。

redo log和bin log的区别?

为什么redo log crash-safe,而bin log不可以?


文章题目:mysql日志怎么写,mysql的日志
分享链接:http://myzitong.com/article/dscijch.html