【问题标题】:Why is MySQL daemon not launched at startup time?为什么 MySQL 守护进程在启动时没有启动?
【发布时间】:2015-02-25 20:52:54
【问题描述】:

我在启动时无法将 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 实例吗? (我想避免这种情况)

谢谢!

【问题讨论】:

    标签: mysql macos launchd


    【解决方案1】:

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

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

    希望对您有所帮助。尝试重做所有步骤,不仅更正您的代码,有时一个字符会改变一切......

    【讨论】:

    • 感谢您的链接。这似乎是一个权限问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 2021-10-14
    相关资源
    最近更新 更多