mysql错误_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.errStarting MySQL..........[  OK  ][root@DB-Server ~]# mysql -u root -pEnter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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)

fe2d0938dd1ae1003b4225be284578cd.png

如果关闭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,如下所示

950eaf5c554e20766fdc64ef0b1d95f4.png

如果配置文件中设置了参数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-oldshell> mysqladmin -u root -p flush-logsshell> mv host_name.err-old backup-directory

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值