gpt4 book ai didi

macos - 如何在 macOS 上的 BOOT 上启动 MariaDB(如 MySQL)?

转载 作者:行者123 更新时间:2023-12-04 02:13:34 25 4
gpt4 key购买 nike

我已经使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com