我如何findMySQL守护进程错误日志的位置?

许多MySQL问题需要检查MySQL守护进程错误日志,但是它并不总是显而易见的。 find它的一种方法是发出SELECT @@log_error查询。 但是如果你在Linux MySQL服务器主机上有一个root shell,不想连接到服务器,并且需要一个快速和肮脏的方法来抓住一个shell脚本?

我们可以使用mysqld使用文件描述符2( stderr )作为错误日志和/proc文件系统这样一个事实:

 sudo readlink /proc/$(pidof mysqld)/fd/2 

这当然需要一个当前正在运行的服务器。 文件描述符保证是2,因为MySQL通过在启动时将stderr流重定向到指定的日志写入错误日志,然后写入stderr – 至少在版本5.5和更早的版本中,可能在更高版本中。