gpt4 book ai didi

mysql - `brew services start mysql` 和 `mysql.server start` 之间的区别

转载 作者:IT老高 更新时间:2023-10-29 00:21:33 30 4
gpt4 key购买 nike

我使用 Homebrew 软件 brew install mysql 安装了 MySQL,我注意到可以使用两种不同的方法管理 MySQL:

brew服务启动mysql

mysql.server 启动

使用 brew services 启动服务与使用普通的 mysql.server 方法启动服务有什么不同吗?或者它们基本上是同一个东西,只是一个不同的别名?

看起来它们都使用相同的可执行文件:/usr/local/Cellar/mysql/5.7.17/bin/mysqld

谢谢你的帮助!

最佳答案

根据brew services的帮助信息,当你运行

brew services start mysql

它会在登录时安装并启动服务公式(如果您使用 sudo 运行命令,则在启动时)。这意味着您现在将在 ~/Library/LaunchAgents 中拥有一个 plist 文件(如果您使用 sudo 运行命令,则在 /Library/LaunchDaemons 中).对于mysql,plist文件如下:

<?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>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.mysql</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/mysql/bin/mysqld_safe</string>
<string>--bind-address=127.0.0.1</string>
<string>--datadir=/usr/local/var/mysql</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local/var/mysql</string>
</dict>
</plist>

这意味着默认情况下 mysqld_safe--bind-address=127.0.0.1--datadir=/usr/local/var 调用/mysql 命令行选项。

运行的时候

mysql.server start

你直接执行位于/usr/local/bin/mysql.server的mysql脚本。

主要区别在于,对于 brew services 版本,您运行 mysqld_safe,根据其 man 页面:

adds some safety features such as restarting the server when an error occurs and logging runtime information to an error log file.

关于mysql - `brew services start mysql` 和 `mysql.server start` 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43418955/

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