【问题标题】:why the mysqld is located in 4 places in linux system?为什么mysqld位于linux系统的4个地方?
【发布时间】:2012-07-12 05:14:38
【问题描述】:

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

  1. /usr/libexec/mysqld
  2. /etc/rc.d/init.d/mysqld
  3. /var/lock/subsys/mysqld
  4. /var/run/mysqld

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

【问题讨论】:

  • 上述问题中只列出了一个可执行文件,而不是三个。

标签: mysql linux


【解决方案1】:

下面是解释

  • /usr/libexec/mysqld:实际的二进制可执行文件
  • /etc/rc.d/init.d/mysqld:服务启动文件(文本文件)
  • /var/run/mysqld : PID/run 文件夹(mysqld在这个文件夹中写入一个run文件)
  • /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 并查看此内容。如果由于系统关闭或正常的service mysql stop mysqld 没有结束,mysqld_safe 将尝试重新启动mysqld

【讨论】:

  • 谢谢@RolandoMySQLDBA!除了服务启动之外,另外三个文件的目的是什么
  • 文件/文件夹一起工作。 mysqld make 创建文件的目的是在某些文件夹中将自己声明为服务。
  • 我无法编辑你的答案,因此我将添加额外的信息作为评论:操作系统使用 /var/lock/subsys/mysqld 来确保 MySQL 服务在关闭之前正确停止向下
猜你喜欢
  • 2010-11-10
  • 1970-01-01
  • 2021-02-12
  • 2017-02-16
  • 1970-01-01
  • 1970-01-01
  • 2012-12-02
  • 2012-07-11
  • 1970-01-01
相关资源
最近更新 更多