- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 HomeBrew 在全新的 macOS 10.11 服务器设置上安装了 MariaDB。当我手动启动它时,服务器运行良好,但我无法让它在启动时自动启动(不是登录)。
我用过 sudo brew services start mariadb
在/Library/LaunchDaemons 中创建一个启动脚本但它不起作用。没有运行 mariadb,没有 mariadb 错误日志。它似乎默默地失败了。某处一定有一些相关的日志,但我不知道在哪里。
当那不起作用时,我尝试制作自己的启动脚本,首先让它运行 mysql.server start
,但那失败了。具有完整路径和适当的权限,但它永远不会工作。
然后我从自制软件自己的launchd plist中复制了一些代码并制作了我自己的运行mysqld_safe的plist,这也不起作用:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE truncated for easier forum viewing>
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.macfixer.mariadb</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/mariadb/bin/mysqld_safe</string>
<string>--datadir=/usr/local/var/mysql</string>
</array>
<key>WorkingDirectory</key>
<string>/usr/local/var</string>
<key>Disabled</key>
<false/>
<key>RunAtLoad</key>
<true/>
<key>StandardOutPath</key>
<string>/logs/mariadb.out.log</string>
<key>StandardErrorPath</key>
<string>/logs/mariadb.error.log</string>
</dict>
</plist>
以上在 mariadb 错误日志或 StandardErrorPath 错误日志中没有留下任何痕迹。但是,它确实在 StandardOutPath 日志中留下了一些内容。看起来 mariadb 正在启动,它只是......不是。
180326 08:37:27 mysqld_safe Logging to '/usr/local/var/log/mysqld-error.log'.
180326 08:37:28 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
mysql.server start
一旦计算机启动并登录,MariaDB 就可以正常启动了。但是当从launchd启动时,它似乎只是默默地立即退出。
最佳答案
原来这个非常烦人的问题有一个非常简单的答案。
使 _mysql 拥有 MariaDB 安装:sudo chown -R _mysql: /usr/local/var/mysql
就是这样!这样做之后,它完美地工作。
为什么自制软件安装程序不关心它安装的软件的权限?为什么数据库没有写入自己的错误日志说存在权限问题?为什么 launchd 脚本中的 stderr 或 stdout 没有暗示存在权限问题,或者根本没有任何问题?
... 我不知道。我会称之为错误并继续前进。但是更改 mariadb 安装文件夹的权限完全解决了这个问题。这是一个巨大的解脱。
关于macos - 如何在 macOS 上的 BOOT 上启动 MariaDB(如 MySQL)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49333797/
我是一名优秀的程序员,十分优秀!