如何在Mac OS X启动时启动MariaDB?

17

刚刚使用homebrew安装了MariaDB。看起来一切都正常,但我不知道如何让它在我的Mac开机时自动启动。我找不到任何针对Mac的具体文档。

安装输出信息如下:

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

我想我不知道正确的地方在哪里。


mysql.server 的内容是什么?它看起来像一个脚本,还是一个 XML plist? - prodigitalson
这是一个shell脚本。在Linux上,我希望将其放在rc目录或类似位置。不确定OS X的方式是什么(我已经被高级打包工具宠坏了)。 - Grant Birchmeier
1
下面的被接受的答案将在用户登录时启动MariaDB,但它不会在启动时启动。我仍在尝试找到一个开机解决方案。将登录脚本放在/Library/LaunchDaemons中似乎不起作用。 - l008com
4个回答

20

brew info mariadb 命令开始

To have launchd start mariadb now and restart at login:
  brew services start mariadb
Or, if you don't want/need a background service you can just run:
  mysql.server start

只需在终端上运行brew services start mariadb即可。

当我最初发布问题时可能还不存在这个。 - Grant Birchmeier
1
@GrantBirchmeier 或许对将来有人搜索同样的问题有用 :D - Sucipto
在我的电脑上,无论是 start 还是 restart 都不起作用,而且没有进程显示。唯一可靠的方法是在每次重启后重新安装 brew upgrade mariadb。如果你遇到了这个问题,会返回 Service mariadb already started, use brew services restart mariadb to restart. 的提示信息。 - frumbert

10
如果你使用Homebrew安装MariaDB,你可以使用以下方法在登录时启动Mariadb。
brew info mariadb

要让launchd在登录时启动mariadb:

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

现在要加载mariadb:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

或者,如果您不想/需要使用launchctl,您可以直接运行以下命令:

mysql.server start

10

在Calvin的回答(已删除,我猜是这样?)以及这个页面的帮助下,我采取了以下步骤:

cp /usr/local/Cellar/mariadb/5.5.30/homebrew.mxcl.mariadb.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

下次启动时,MariaDB已经运行。


1
~/Library/LaunchAgents 会在登录时启动服务器,而不是在开机时启动。如果您在计算机上禁用了自动登录,则数据库将无法运行。仅仅将 plist 从 LaunchAgents 移动到 /Library/LaunchDeamons 是不起作用的。这又回到了最初的问题,您能否在 开机 时启动 mariadb - l008com
哈,你说得完全正确,现在我意识到我实际上是想说“在登录时”!幸运的是,我只需要在开发环境中使用它,而不是生产环境。 - Grant Birchmeier

2

1
这是通用的OS X建议,还是基于使用MariaDB的经验? - Grant Birchmeier
1
@GrantBirchmeier 这是在OSX中的一个经验法则。 - Seyeong Jeong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接