2012-07-12 45 views
3

我執行命令「#find/-name mysqld」時出現混亂。由於mysqld的位於四個地方分別是:爲什麼mysqld位於linux系統的4個地方?

  1. 在/ usr /的libexec/mysqld的
  2. /etc/rc.d/init.d/mysqld
  3. 在/ var /鎖/ SUBSYS/mysqld的
  4. /var/run/mysqld

另外三個mysql守護進程的目的是什麼?

+0

上述問題中只列出一個可執行文件,而不是三個。 – 2012-07-12 05:45:48

回答

6

這裏是下面的解釋

  • 在/ usr /的libexec/mysqld的:實際的二進制可執行
  • /etc/rc.d/init.d/mysqld:服務啓動文件(文本文件)
  • 在/ var /運行/ mysqld的:PID /運行文件夾(mysqld的寫入該文件夾中運行文件)
  • 在/ var /鎖/ SUBSYS/mysqld的:不知道

若y OU運行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

+0

謝謝你@RolandoMySQLDBA!除服務啓動外,另外三個文件的用途 – Dhileepan 2012-07-12 05:27:09

+0

文件/文件夾一起工作。 'mysqld'爲了在某些文件夾中聲明自己爲服務而創建文件。 – RolandoMySQLDBA 2012-07-12 05:33:37

+0

我無法編輯您的答案,因此我將添加額外的信息作爲註釋: /var/lock/subsys/mysqld被操作系統用來確保MySQL服務在關閉之前正確停止 – Archibald 2016-07-04 09:52:52

相關問題