为什么mysqld位于linux系统的4个地方?

当我执行命令“#find / -name mysqld”时,我感到困惑。 由于mysqld位于四个地方:

  1. 的/ usr /的libexec / mysqld的
  2. /etc/rc.d/init.d/mysqld
  3. 在/ var /锁/ SUBSYS / mysqld的
  4. 在/ var /运行/ mysqld的

另外三个mysql守护进程的目的是什么?

Solutions Collecting From Web of "为什么mysqld位于linux系统的4个地方?"

以下是解释

  • / usr / libexec / mysqld:实际的二进制可执行文件
  • /etc/rc.d/init.d/mysqld:服务启动文件(文本文件)
  • / var / run / mysqld:PID /运行文件夹(mysqld在此文件夹中写入运行文件)
  • / var / lock / subsys / mysqld:不确定

如果你运行which mysqld你应该看到第一个

你永远不会直接运行

当你运行service mysqld start ,它会调用/etc/rc.d/init.d/mysqld来启动一个名为mysqld_safe (运行which mysqld_safe )的程序。 mysqld_safemysqld一起作为服务器守护进程。

反过来, mysqld_safe会启动mysqld,然后检查退出代码。 你可以运行less /etc/rc.d/init.d/mysqld并看到这个。 如果mysqld由于系统关闭或正常service mysql stop而没有结束,mysqld_safe将尝试重新启动mysqld