Mysql 错误日志:
1、记录mysqld开启、停止、以及运行时的关键错误信息(如mysqld通知表需要检查或恢复,将写信息到错误日志);
2、如果mysqld死亡,一些操作系统也包含堆栈跟踪信息
控制命令行参数和系统变量:
1、windows
--log-error:没有指定,mysqld写错误消息到数据目录的host_name.err文件;指定了文件名,将写错误消息到指定的文件;
--console:指定了该选项,mysqld写错误消息到控制台,如果同时指定了--log-error,将忽略该选项;
2、Unix、Linux
--log-error:没有指定,mysqld写错误消息到控制台;指定了该选项,默认日志文件名为host_name.err,存放在数据目录,也可以指定绝对路径的日志文件,错误消息将写到指定的文件;
log_error系统变量查看错误日志文件名:
root@[(none)] 17:37:19>show variables like 'log_error%';
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| log_error | /log/mysql55/alert.log |
+---------------+------------------------+
1 row in set (0.00 sec)
mysqld_safe的参数:mysqld_safe通过mysqld写错误消息
--syslog:错误消息发送到syslog,使用daemon.err(是硬编码到mysqld_safe脚本中)标识priority/facility,使用logger命令记录日志到/var/log/messages,不能跟log_error一起使用
--syslog-tag:如记录日志到syslog,消息标签为mysqld_safe或mysql,使用该选项指定标签后缀,适合如果有多实例的机器,可以进行区分来自哪个实例
--skip-syslog:抑制使用syslog
--log-error:指定错误日志记录到哪个文件
--log-warnings命令行参数和log_warnings系统变量:
控制警告日志写到错误日志,默认值为1,设置为0将关闭警告日志,如果大于1,失败连接和新连接访问拒绝的信息也将写到错误日志,如果slave开启log_warnings,slave打印关于binary log和relay log的坐标等信息
日志维护:
FLUSH LOGS
mysqladmin flush-logs
重新打开新的日志
root@[(none)] 18:02:59>\! ls -l /log/mysql55/
total 988
-rw-r----- 1 mysql root 4547 Jul 29 00:45 alert.log
root@[(none)] 18:03:03>\! mv /log/mysql55/alert.log /log/mysql55/alert.log-old #重命名日志
root@[(none)] 18:04:13>flush logs; #重新打开新的日志
Query OK, 0 rows affected (0.00 sec)
root@[(none)] 18:04:18>\! ls -l /log/mysql55/
total 992
-rw-rw---- 1 mysql mysql 0 Jul 30 18:04 alert.log
-rw-r----- 1 mysql root 4547 Jul 29 00:45 alert.log-old