如何在运行OS X Yosemite /埃尔卡皮坦在启动时自动加载的MySQL如何在运行OS X Y

2019-05-13 04:33发布

升级OS X我安装MySQL后停止加载在启动时。

这在MySQL穿行说:

“启动项安装添加变量MYSQLCOM = -YES-系统配置文件/ etc / hostconfig中。如果要禁用的MySQL自动启动,改变这个变量MYSQLCOM = -NO-。”

所以,我打开该文件,它说:

# This file is going away 
AFPSERVER=-NO- 
AUTHSERVER=-NO-
TIMESYNC=-NO-
QTSSERVER=-NO-
MYSQLCOM=-YES-

我认为OSX Dev的加入# This file is going away ,但我不能肯定。

如果是这样的话,什么是启动MySQL上OSX优胜美地启动的正确方法?

Answer 1:

这是固定的:

首先,创建一个新的文件:/Library/LaunchDaemons/com.mysql.mysql.plist

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
  <dict>
    <key>KeepAlive</key>
    <true />
    <key>Label</key>
    <string>com.mysql.mysqld</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/mysql/bin/mysqld_safe</string>
      <string>--user=mysql</string>
    </array>        
  </dict>
</plist>

然后更新权限并将其添加到launchctl

sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist


Answer 2:

如果你安装的MySQL通过自制软件 ,你可以拥有launchd在通过登录启动MySQL:

ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents


Answer 3:

接受的答案没有工作到自动启动我的MySQL服务器(而事实上我的首选项面板每次我试图打开它,而它是活跃的时候坠毁系统偏好设置)。 我跟着从说明了MySQL 5.6手册 ,它终于再次自动启动! 创建文件/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>             <string>com.oracle.oss.mysql.mysqld</string>
    <key>ProcessType</key>       <string>Interactive</string>
    <key>Disabled</key>          <false/>
    <key>RunAtLoad</key>         <true/>
    <key>KeepAlive</key>         <true/>
    <key>SessionCreate</key>     <true/>
    <key>LaunchOnlyOnce</key>    <false/>
    <key>UserName</key>          <string>_mysql</string>
    <key>GroupName</key>         <string>_mysql</string>
    <key>ExitTimeOut</key>       <integer>600</integer>
    <key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string>
    <key>ProgramArguments</key>
        <array>
            <string>/usr/local/mysql/bin/mysqld</string>
            <string>--user=_mysql</string>
            <string>--basedir=/usr/local/mysql</string>
            <string>--datadir=/usr/local/mysql/data</string>
            <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
            <string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
            <string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
            <string>--port=3306</string>
        </array>
    <key>WorkingDirectory</key>  <string>/usr/local/mysql</string>
</dict>
</plist>

并运行在创建文件后,下面的命令:

cd /Library/LaunchDaemons
sudo chown root:wheel com.oracle.oss.mysql.mysqld.plist 
sudo chmod o-w com.oracle.oss.mysql.mysqld.plist 
sudo launchctl load -F com.oracle.oss.mysql.mysqld.plist


Answer 4:

有一个bash脚本由MacMiniVault ,它会为你做这一点-安装MySQL为好。 还有一个文章描述的过程。

建议的文章,管脚本直入终端中并运行它,但因为这有一些严重的安全隐患,这是一个好主意本地运行前先下载并检查脚本。

注:该答复中回应对以下上述文章中对指令进行安全隐患的意见被重写。 它通常是一个坏主意,管来历不明的 shell脚本直接打坏。 另外,如果你不明白的脚本或信任的作者,不使用它。



Answer 5:

我的Mac上埃尔卡皮坦运行。 通过BREW安装了MySQL。

mysql.server status 

告诉我,我有一些问题需要解决:

ERROR! MySQL is not running, but PID file exists

发现homebrew.mxcl.mysql.plist文件/usr/local/Cellar/mysql/xxx/目录,并将其复制到/Library/LaunchDaemons/

sudo cp homebrew.mxcl.mysql.plist /Library/LaunchDaemons/homebrew.mxcl.mysql.plist

将所有必要的权限:

sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
sudo chmod 644 /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.mysql.plist

建议中使用的部分,通过描述贾斯汀



文章来源: How to auto-load MySQL on startup on OS X Yosemite / El Capitan