问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MySQL可以记录插入数据出错的日志吗

发布网友 发布时间:2022-04-27 03:38

我来回答

1个回答

热心网友 时间:2022-04-08 07:41

  一.错误日志

  错误日志在Mysql数据库中很重要,它记录着mysqld启动和停止,以及服务器在运行过程中发生的任何错误的相关信息。

  1.配置信息

  --log-error=[file-name]用来指定错误日志存放的位置。

  如果没有指定[file-name],默认hostname.err做为文件名,默认存放在DATADIR目录中。

  也可以将log-error配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定--log-error.例如:

  [mysql@test2]$ vi /etc/my.cnf

  # The MySQL server

  [mysqld]

  ....

  log-error = /var/lib/mysql/test2_mysqld.err

  .....

  2.错误信息样板

  080313 05:21:55 mysqld started

  080313 5:21:55 InnoDB: Started; log sequence number 0 43655

  080313 5:21:55 [Note] /usr/local/mysql/bin/mysqld: ready for connections.

  Version: '5.0.26-standard-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition - Standard (GPL)

  080313 5:24:13 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown

  080313 5:24:13 InnoDB: Starting shutdown...

  080313 5:24:16 InnoDB: Shutdown completed; log sequence number 0 43655

  080313 5:24:16 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

  080313 05:24:16 mysqld ended

  080313 05:24:47 mysqld started

  080313 5:24:47 InnoDB: Started; log sequence number 0 43655

  080313 5:24:47 [Note] /usr/local/mysql/bin/mysqld: ready for connections.

  Version: '5.0.26-standard-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition - Standard (GPL)

  080313 5:33:49 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown

三.查询日志

  查询日志记录了clinet的所有的语句。

  Note:由于log日志记录了数据库所有操作,对于访问频繁的系统,此种日志会造成性能影响,建议关闭。

  1.配置信息

  --log=[file-name]用来指定错误日志存放的位置。

  如果没有指定[file-name],默认为主机名(hostname)做为文件名,默认存放在DATADIR目录中。

  也可以将log配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定--log.例如:

  # The MySQL server

  [mysqld]

  ......

  #query-log

  log = /var/lib/mysql/query_log.log

  ......

  2.读取查询日志

  查询日志是纯文本格可,可以使用OS文本读取工具直接打开查看。例如:

  [mysql@test2]$ tail -n 15 query_log.log

  080313 7:58:28 17 Query show tables

  080313 8:07:45 17 Quit

  080313 10:01:48 18 Connect root@localhost on

  080313 10:02:38 18 Query SELECT DATABASE()

  18 Init DB test

  080313 10:02:42 18 Query show tables

  080313 10:03:07 18 Query select * from pet

  080313 10:06:26 18 Query insert into pet values('hunter','yxyup','cat','f','1996-04-29',null)

  080313 10:06:39 18 Query select * from pet

  080313 10:07:13 18 Query update pet set sex='m' where name='hunter'

  080313 10:07:38 18 Query delete from pet where name='hunter'

  080313 10:13:48 18 Query desc test8

  080313 10:14:13 18 Query create table t1(id int,name char(10))

  080313 10:14:41 18 Query alter table t1 add sex char(2)

  [mysql@test2]$

四.慢查询日志

  慢查询日志是记录了执行时间超过参数long_query_time(单位是秒)所设定值的SQL语句日志。

  Note:慢查询日志对于我们发现性能有问题的SQL有很帮助,建议使用并经常分析

  1.配置信息

  --log-slow-queries=[file-name]用来指定错误日志存放的位置。

  如果没有指定[file-name],默认为hostname-slow.log做为文件名,默认存放在DATADIR目录中。

  也可以将log-slow-queries配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定--log-slow-queries.例如:

  # The MySQL server

  [mysqld]

  ......

  #slow-query-log

  log-slow-queries = /var/lib/mysql/slow_query_log.log

  ......

  2.读取慢查询日志

  [mysql@test2]$ cat slow_query_log.log

  /usr/local/mysql/bin/mysqld, Version: 5.0.26-standard-log. started with:

  Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock

  Time Id Command Argument

  # Time: 080313 5:41:46

  # User@Host: root[root] @ localhost []

  # Query_time: 108 Lock_time: 0 Rows_sent: 0 Rows_examined: 8738

  use test;

  select count(1) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name;

  # Time: 080313 5:52:04

  # User@Host: root[root] @ localhost []

  # Query_time: 583 Lock_time: 0 Rows_sent: 0 Rows_examined: 508521177

  select count(1) from t1 a, t1 b where a.id=b.id;

  /usr/local/mysql/bin/mysqld, Version: 5.0.26-standard-log. started with:

  Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock

  Time Id Command Argument

  # Time: 080313 10:39:59

  # User@Host: root[root] @ localhost []

  # Query_time: 11 Lock_time: 0 Rows_sent: 4537467 Rows_examined: 4537467

  use test;

  select id from tail;

  如果慢查询日志记录很多可以使用mysqlmpslow进行分类汇总

  [mysql@test2]$ mysqlmpslow slow_query_log.log

  Reading mysql slow query log from slow_query_log.log

  Count: 1 Time=583.00s (583s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost

  select count(N) from t1 a, t1 b where a.id=b.id

  Count: 1 Time=108.00s (108s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost

  select count(N) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name

  Count: 1 Time=11.00s (11s) Lock=0.00s (0s) Rows=4537467.0 (4537467), root[root]@localhost

  select id from tail;

mysql有以下几种日志:
错误日志: -log-err
查询日志: -log
慢查询日志: -log-slow-queries
更新日志: -log-update
二进制日志: -log-bin

在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。
例如:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=
#Enter a name for the query log file. Otherwise a default name will be used.
#log=
#Enter a name for the error log file. Otherwise a default name will be used.
log-error=
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=

查看日至:
1. 首先确认你日志是否启用了
mysql>show variables like 'log_bin';
如果启用了,即ON
那日志文件就在mysql的安装目录的data目录下
cat/tail 日志文件名

2. 怎样知道当前的日志
mysql> show master status;
3. 查看从某一段时间到某一段时间的日志

mysqlbinlog --start-datetime='2008-01-19 00:00:00'
--stop-datetime='2008-01-30 00:00:00' /var/log/mysql/mysql-bin.000006
> mysqllog1.log
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中美有什么经济冲突 杨凌衡水实验中学高中学费是多少 蒂芙尼珍珠项链怎么清洗和保养? tiffany&co 的缺点 如何保养蒂芙尼的项链? tiffany保养要多久时间 Tiffany珠宝需要多长时间保养? 人为什么活着,怎样活着都是无憾!! 孩子犟的不行家长怎么教育 有什么比较好用的游戏视频录制软件? 适用于Windows的10个好用的游戏录制软件 mysql数据库读取记录问题 保本理财哪家银行好 保本型理财产品哪个银行的收益会高一点 哪家银行理财产品保本收益率高 刚装的win7,电脑管家提示有好多高危漏洞 电脑管家提示高危漏洞修复,该修复吗? 电脑管家发现的高危漏洞要不要修复 用电脑管家的时候发现高危漏洞,可怎么修复就是修不好,这是为什么 QQ电脑管家老提示有高危漏洞需要修复怎么回事?需要修复吗? 电脑管家体检中有高危漏洞怎么办,要修复吗? 红枣芹菜根怎么吃最好? 4个鸡蛋,3根芹菜,一块豆腐,半斤干面条,能做出啥好吃的? 芹菜和木耳及鸡蛋的做法 芹菜和鸡肉能一起吃吗专家解释 芹菜炒鸡蛋的注意事项有哪些? 女生身高170适合穿背带裤吗? 现代i35trip啥意思仪表盘上的 金金菜根和鸡蛋煮水有什么功效 魅族手机屏幕坏了,怎么查询里面文件 户户笙歌是成语吗? 饮水机的整个尺寸包括水桶,机身 最好能告诉我饮水机 各个主要部位的尺寸是多少 拜托啦 mysql查询问题符合条件的记录 谁知道饮水机上的桶一般尺寸,3加仑的桶口直径是多少?体重多少?知道的告诉下谢谢! mysql修改5条记录中某条记录的问题 mysql 记录时间问题 饮水机水桶的出水口,直径是多少? 怎样查看本机mysql的详细操作记录 MYSQL无法记录 15l的桶装水有多大,一般饮水机上能用吗? mysql sql 出错了怎么全部写到日记里面 单位喝那种桶装水(饮水机上用的那种)一桶是多少L呢? 在MySQL数据库中表的最大记录数问题,怎么解决 mysql单表最多能记录多少条数据 mysql数据库查询统计的问题 饮水机的一桶水有多重? - 信息提示 猫先生掉了尾巴的故事 猫咪老师喝的酒叫什么酒?? 猫先生的影子酒当中系着铃铛的伞读后感怎么写 《夏目友人帐》中,为什么猫咪老师一季比一季胖?