【问题标题】:Mysql 5.5.10 - Mac 10.6.x - auto startMysql 5.5.10 - Mac 10.6.x - 自动启动
【发布时间】:2011-07-30 03:51:52
【问题描述】:

我正在尝试在我的 mac pro 上自动启动 mysql 5.5.10 社区服务器 (gpl)。我在这个论坛上阅读了几个主题。我仍然感到困惑,因为那些线程引用了一个文件:

/Library/StartupItems/MySQLCOM

我似乎没有这个文件或文件夹。

有人可以帮忙吗。

顺便说一句,我可以使用 mysqld 启动 mysql...而且它工作正常。

提前致谢!

【问题讨论】:

    标签: mysql macos


    【解决方案1】:

    您实际上必须创建此文件...最好的方法是使用符号链接:

    mkdir /Library/StartupItems/MySQLCOM
    cd /Library/StartupItems/MySQLCOM/
    ln -s /path/to/installation/mysql/support-files/mysql.server MySQLCOM
    

    但是我不会推荐这个。你应该正确地使用launchd - 这是正确的OS X方式:-)

    首先在/Library/LaunchDaemons/com.mysql.mysqld.plist创建一个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>Disabled</key>
        <false/>
        <key>GroupName</key>
        <string>_mysql</string>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>com.mysql.mysqld</string>
        <key>Program</key>
        <string>/usr/local/mysql/bin/mysqld</string>
        <key>ProgramArguments</key>
        <array>
            <string>--user=_mysql</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>Umask</key>
        <integer>7</integer>
        <key>UserName</key>
        <string>_mysql</string>
        <key>WorkingDirectory</key>
        <string>INSTALL_PATH/mysql</string>
    </dict>
    </plist>
    

    然后调整权限:

    sudo chown root /Library/LaunchDaemons/com.mysql.mysqld.plist
    sudo chgrp wheel /Library/LaunchDaemons/com.mysql.mysqld.plist
    sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysqld.plist
    

    现在 MySQL 应该在启动时启动。要在不重新启动的情况下测试一切正常,您可以运行:sudo launchctl load com.mysql.mysqld.plist 然后检查错误日志中的消息。

    如果您需要添加特殊参数(如自定义日志、cnf 等),您可以通过在 &lt;array&gt; 后面的 &lt;key&gt;ProgramArguments&lt;/key&gt; 元素中将它们指定为 &lt;string&gt; 元素来实现。这些&lt;string&gt; 元素的值应该是您将与mysqld 一起使用的标准开关。

    【讨论】:

    • 成功了!感谢您向我介绍午餐……我还有很多事情要做。一个小修复:更改授权命令中缺少“.plist”。我也无法设置 StandardErrorPath/var/log/mysqlerr.log。在 Console.app 中说参数太多?再次感谢!
    • 另一件事...我必须将所有数据文件和文件夹的所有权更改为 _mysqld。
    • @hba:奇怪,我从来没有修改过它,但它应该是 launchd 的有效选项......(也修复了 chown/mod 路径 - 很好的捕获......对此感到抱歉)
    • 启动时出现多个mysqld进程然后最终只有一个是否正常?有没有办法防止这种情况发生?
    【解决方案2】:

    对如何为较新版本的 OSX 安装 plist 的方式略有改变。

    不要简单地在 LaunchDemons 文件夹中创建文件并修改权限,而是在本地文件夹中创建 plist 文件,然后运行: sudo install com.mysql.mysqld.plist /Library/LaunchDaemons

    【讨论】:

      猜你喜欢
      • 2010-11-22
      • 2012-01-31
      • 1970-01-01
      • 2011-02-04
      • 2014-12-15
      • 1970-01-01
      • 2011-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多