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

Dhi*_*pan 3 mysql linux

当我执行命令"#find/-name mysqld"时,我感到困惑.因为mysqld位于以下四个地方:

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

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

Rol*_*DBA 6

以下是解释

  • / 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(Run which mysqld_safe)的程序.mysqld_safemysqld一起工作成为服务器守护进程.

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