MySQL OS X Yosemite 上的 LaunchDaemon:本地主机连接失败
MySQL LaunchDaemon on OS X Yosemite: Localhost connection fails
从 OS X 10.10 Yosemite 开始,不再支持 StartupItems。我创建了一个 LaunchDaemon 来自动启动服务器上的 MySQL 数据库。到目前为止它有效,但我无法在一些工具中使用 "localhost" 作为连接参数(不打算使用套接字连接)。连127.0.0.1都失败了,但是当我使用服务器的真实ip地址(192.168.x.y)时可以建立连接。
LaunchDaemon 代码(我们使用的是非标准安装):
<?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>StandardOutPath</key>
<string>/MY_APP_ROOT/mysql/data/my_app.mysql.debug.log</string>
<key>StandardErrorPath</key>
<string>/MY_APP_ROOT/mysql/data/my_app.mysql.debug.log</string>
<key>Debug</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.my_app.mysql</string>
<key>ProgramArguments</key>
<array>
<string>/MY_APP_ROOT/mysql/bin/mysqld_safe</string>
<string>--user=mysql</string>
<string>--socket=/tmp/my_app.mysql.sock</string>
<string>--basedir=/MY_APP_ROOT/mysql</string>
<string>--datadir=/MY_APP_ROOT/mysql/data</string>
<string>--port=3366</string>
<string>--pid-file=/MY_APP_ROOT/mysql/data/my_app.mysql.pid</string>
<string>--log-error=/MY_APP_ROOT/mysql/data/my_app.mysql.err</string>
</array>
</dict>
</plist>
我错过了什么?
编辑:在我们的应用程序的中央代码中发现了问题...很抱歉在这里发帖。然而,对于那些仍在 Yosemite 上寻找解决方案的人来说,LaunchDaemon 可能是一个例子。
问题已解决。
从 OS X 10.10 Yosemite 开始,不再支持 StartupItems。我创建了一个 LaunchDaemon 来自动启动服务器上的 MySQL 数据库。到目前为止它有效,但我无法在一些工具中使用 "localhost" 作为连接参数(不打算使用套接字连接)。连127.0.0.1都失败了,但是当我使用服务器的真实ip地址(192.168.x.y)时可以建立连接。
LaunchDaemon 代码(我们使用的是非标准安装):
<?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>StandardOutPath</key>
<string>/MY_APP_ROOT/mysql/data/my_app.mysql.debug.log</string>
<key>StandardErrorPath</key>
<string>/MY_APP_ROOT/mysql/data/my_app.mysql.debug.log</string>
<key>Debug</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.my_app.mysql</string>
<key>ProgramArguments</key>
<array>
<string>/MY_APP_ROOT/mysql/bin/mysqld_safe</string>
<string>--user=mysql</string>
<string>--socket=/tmp/my_app.mysql.sock</string>
<string>--basedir=/MY_APP_ROOT/mysql</string>
<string>--datadir=/MY_APP_ROOT/mysql/data</string>
<string>--port=3366</string>
<string>--pid-file=/MY_APP_ROOT/mysql/data/my_app.mysql.pid</string>
<string>--log-error=/MY_APP_ROOT/mysql/data/my_app.mysql.err</string>
</array>
</dict>
</plist>
我错过了什么?
编辑:在我们的应用程序的中央代码中发现了问题...很抱歉在这里发帖。然而,对于那些仍在 Yosemite 上寻找解决方案的人来说,LaunchDaemon 可能是一个例子。
问题已解决。