MySQL错误日志总结

MySQL错误日志是记录MySQL 运行过程中较为严重的警告和错误信息,以及MySQL每次启动和关闭的详细信息。错误日志的命名通常为hostname.err。其中,hostname表示服务器主机名。

The error log contains information indicating when mysqld was started and stopped and also any critical errors that occur while the server is running. If mysqld notices a table that needs to be automatically checked or repaired, it writes a message to the error log. On some operating systems, the error log contains a stack trace if mysqld exits abnormally. The trace can be used to determine where mysqld exited. See Section 24.5, “Debugging and Porting MySQL”.

 

查看错误日志的位置

错误日志默认存放位置为数据目录下,你也可以用下面命令查看。例如下面是我测试服务的情况。

mysql> show variables like '%log_error%';
+---------------+------------------------------------------------------+
| Variable_name | Value                                                |
+---------------+------------------------------------------------------+
| log_error     | /home/WDPM/MysqlData/mysql/DB-Server.localdomain.err |
+---------------+------------------------------------------------------+
1 row in set (0.00 sec)
 
mysql> 

 

修改错误日志的位置

错误日志所记录的信息是可以通过log-error和log-warnings来定义的,其中log_error是定义是否启用错误日志的功能和错误日志的存储位置,log-warnings是定义是否将警告信息也定义至错误日志中。可以在启动MySQL时,指定log_error的值。如下所示

[root@DB-Server ~]# /etc/init.d/mysql start --log_error=/tmp/DB-Server.localdomain.err
Starting MySQL..........[  OK  ]
[root@DB-Server ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.20-enterprise-commercial-advanced-log MySQL Enterprise Server - Advanced Edition (Commercial)
 
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> show variables like '%log_error%';
+---------------+--------------------------------+
| Variable_name | Value                          |
+---------------+--------------------------------+
| log_error     | /tmp/DB-Server.localdomain.err |
+---------------+--------------------------------+
1 row in set (0.00 sec)

如果关闭MySQL,然后重启MySQL,你会发现log_error的值又变为了/home/WDPM/MysqlData/mysql/DB-Server.localdomain.err 。也就是说这样设置只是对本次有效,如果需要永久修改,那么就必须在my.cnf中指定log_error参数的值。

 

错误日志可以任意命名吗? 答案是可以,例如我在/etc/my.cnf配置文件中,添加了参数log_error=/u02/mysql/mysql.err,重新启动MySQL,如下所示

如果配置文件中设置了参数log_error,启动MySQL时也设置参数log_error,那么那个优先级高呢?我测试验证了一下,my.cnf的参数优先级别要高于启动是的参数log_error

/etc/init.d/mysql start log_error=/tmp/DB-Server.localdomain.err

 

错误日志归档备份

错误日志如果不清理或删除,那么它会一直增长。在MySQL 5.5.7之前,可以通过mysqladmin –uroot –p flush-logs命令删除错误日志。MySQL 5.5.7以及之后,只能通过下面方式来归档、备份错误日志.

shell> mv host_name.err host_name.err-old
 
shell> mysqladmin -u root -p flush-logs
 
shell> mv host_name.err-old backup-directory
时间: 2024-09-29 06:18:32

MySQL错误日志总结的相关文章

mySQL 错误日志分析

https://github.com/twitter/mysql/commit/1912d02a461797977219e2578080b790020ad845   https://github.com/twitter/mysql/blob/master/sql/hostname.cc  错误: 130111  3:33:55 [Warning] IP address '74.86.110.133' has been resolved to the host name '74.86.110.13

php fopen实现mysql错误日志记录

 代码如下 复制代码 $time = date("Y-m-d H:i:s");     $message = $message . "rn$this->sql" . "rn客户IP:$ip" . "rn时间 :$time" . "rnrn";     $server_date = date("Y-m-d");     $filename = $server_date . "

php 利用fopen做mysql错误日志记录

 代码如下 复制代码 <? function putFile($file_name,$file_string) {     if($f=fopen($file_name,"a+"))     {         fwrite($f, $file_string.date("Y-m-d H:i:s")."nr");     }     fclose($f); } $string ='aadb'; putFile( $logfile='logfi

Ubuntu下启动、停止、重启MySQL,查看错误日志命令大全_Mysql

1)启动: sudo /etc/init.d/mysql start 2)停止: sudo /etc/init.d/mysql stop 3)重启: sudo /etc/init.d/mysql restart 4)查看日志: cat /var/log/mysql.err cat /var/log/mysql/error.log 5)不支持中文 修改 /etc/mysql/my.cnf 在 [client] 下面增加: default-character-set=utf8 或 character

mysql错误server PID file could not be found

在centos5.2下安装5.1.30的时候出现如下mysql错误 MySQL manager orserverPIDfilecould not befound![FAILED] Starting MySQL.Manager of pid-file quit without updating file.[FAILED]mysql 查看错误日志 默认的mysql错误日志是在/usr/local/mysql/data 下面 more ****.err 有下面的信息 090302 02:27:26 m

mysql错误解决总结

1. MySQL错误日志里出现: 140331 10:08:18 [ERROR] Error reading master configuration 140331 10:08:18 [ERROR] Failed to initialize the master info structure 140331 10:08:18 [Note] Event Scheduler: Loaded 0 events   从错误提示就可以看出和mster info相关,找到数据目录下的master.info文件

MySQL的日志基础知识及基本操作学习教程_Mysql

MySQL日志主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 日志是mysql数据库的重要组成部分.日志文件中记录着mysql数据库运行期间发生的变化:也就是说用来记录mysql数据库的客户端连接状况.SQL语句的执行情况和错误信息等.当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复. 错误日志 在mysql数据库中,错误日志功能是默认开启的.并且,错误日志无法被禁止.默认情况下,错误日志存储在mysql数据库的数据文件中.错误日志文件

php错误日志简单配置方法_php技巧

本文实例讲述了php配置错误日志的方法.分享给大家供大家参考,具体如下: php.ini: ; 错误日志 log_errors = On ; 显示错误 display_errors = Off ; 日志路径 error_log = "/usr/local/lnmp/php/var/log/error_log" ; 错误等级 error_reporting = E_ALL&~E_NOTICE php-fpm.conf: [global] ; php-fpm pid文件 pid =

让你的错误能留下痕迹....(错误日志mysql篇目)

mysql|错误 class.method     //建立错误日志    function error(){        $fp=@fopen("error.dat","a+");        $time=date("Y-m-d H:i:s");        $msg="{VisitedTime:$time}\t{VisiterIP:$_SERVER[REMOTE_ADDR]}\t{Errormsg:".mysql_e