为什么MySQL守护进程在启动时没有启动?

时间:2015-02-25 20:52:55

标签: mysql macos launchd

我在启动时将MySQL作为系统范围的守护程序启动时遇到了问题。我创建了一个简单的.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>com.mysql.mysqld</string>
    <key>Program</key>
    <string>/usr/local/bin/mysqld</string>
  </dict>
</plist>

并将其放在/ Library / LaunchDaemons中,根据this article,应该放置系统级守护进程。我将所有权更改为root

chown root <path_to_plist>
chgrp admin <path_to_plist>
chmod 644 <path_to_plist>

当我重新启动守护进程时似乎没有运行(ps没有返回任何内容,mysql无法连接)。我能够手动启动守护进程

sudo launchctl load <path_to_plist>

但不是自动的。

我最终将.plist移动​​到〜/ Library / LaunchAgents,在将所有权更改为登录用户并重新启动后,守护程序终于启动了。

  • 为什么mysqld没有在/ Library / LaunchDaemons下运行?
  • 如果另一个用户做同样的话,从〜/ Library / LaunchAgents运行会创建另一个mysqld实例吗? (我想避免这种情况)

谢谢!

1 个答案:

答案 0 :(得分:0)

我做了链接中显示的内容,它对我有用

https://stackoverflow.com/a/26492593/1071459

希望它有所帮助。尝试重做所有步骤,而不仅仅是纠正你的代码,有时一个角色会改变这一切......