我怎样才能看到,如果MySQL启动没有错误?

今天我已经改变了MySQL的configuration文件,并重新启动MySQL:

service mysql restart 

并看到以下内容:

停止mysql数据库服务器:mysqld。
启动mysql数据库服务器:mysqld。 检查损坏,不干净closures和升级需要表..

之后,MySQL服务开始工作,但后来我看到我的网站上的错误,并意识到InnoDB引擎未启动。
在/var/log/daemon.log中我看到了以下几行:

InnoDB:错误:日志文件./ib_logfile0的大小不同,为0 5242880字节
InnoDB:超过.cnf文件中指定的0 67108864字节!
[错误]插件'InnoDB'初始化函数返回错误。
[错误]插件'InnoDB'注册为存储引擎失败。

我删除了日志文件,并重新启动MySQL,但这不是问题。

问题是:
我怎么知道有没有启动mysql的错误,而无需查看daemon.log文件? 也许有可能设置打印mysql启动错误标准输出?

daemon.log被syslog填充。 所以唯一的办法就是在正常的启动过程中看到里面发生了什么,就是input另一个shell

 tail -f /varlog/daemon.log 

如果你想警告更大的问题,你可以修改init脚本。 我快速浏览了mysql init脚本: /etc/init.d/mysql并发现使用logger将错误logging到/var/log/daemon.err

 # priority can be overriden and "-s" adds output to stderr ERR_LOGGER="logger -p daemon.err -t /etc/init.d/mysql -i" 

在第二行添加“-s”,错误也会被logging到stderr。

将错误消息永久打印到标准输出而不是将它们logging到文件中不是一个好主意,原因如下:

  1. 一段时间之后,您将丢失错误信息,特别是如果有很多输出线快速来到。
  2. 系统重新启动后,您将无法看到错误消息。

在守护进程启动期间debugging某些问题时,这样做可能很有用。 这可以通过手动执行而不分叉来完成。 在我的系统上,当我使用sudo mysqld调用它时,mysql进程不会从terminal上分离。