brew start 和brew restart 不会启动服务

问题描述 投票:0回答:4

我使用brew安装了[电子邮件受保护]。安装后,我使用

brew services start [email protected]
启动了服务。使用
brew services
检查表明其工作正常。

在第一次之后的任何尝试中,行为都是不同的。我运行

brew services start [email protected]
然后我得到:

Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
Error: Failure while executing; `/bin/launchctl bootstrap gui/505 /Users/Mahmoud/Library/LaunchAgents/[email protected]` exited with 5.

如果我尝试重新启动服务,使用

brew services restart [email protected]
我得到

Stopping `[email protected]`... (might take a while)
==> Successfully stopped `[email protected]` (label: [email protected])
==> Successfully started `[email protected]` (label: [email protected])

但是使用

brew services
检查会显示服务已停止:

Name      Status  User File
[email protected] stopped root ~/Library/LaunchAgents/[email protected]

使用

brew services stop [email protected]
手动停止服务并重新启动效果不佳。

也尝试使用

brew uninstall [email protected]
卸载并使用
brew install [email protected]
重新安装,但问题仍然存在。我尝试环顾四周,但没有看到有人遇到同样的问题。关于如何解决这个问题有什么想法吗?

mysql macos homebrew
4个回答
41
投票

环境:M1 MPB,OSX 12.4

花了一整天的时间,终于找到了一个有效的解决方案。

使用

brew services stop [email protected]

停止服务

删除启动代理文件

rm ~/Library/LaunchAgents/[email protected]

取消链接服务(如果已链接)

brew unlink [email protected]

卸载服务

brew uninstall [email protected]

然后我删除了上面建议的 mysql 数据目录。这不在我机器上的

/usr/local/var/mysql
中,而是
/opt/homebrew/var/mysql

所以

rm -rf /opt/homebrew/var/mysql

这不是我的最后一步。此时重新安装给了我一堆错误,并且brew安装后步骤失败了。大多数错误都指向我的

my.cnf
文件。我发现在尝试重新安装之前删除此文件可以防止这些错误。

我对此文件进行了备份,以防万一这会导致更多问题。

cp /opt/homebrew/etc/my.cnf /opt/homebrew/etc/my.cnf.backup

然后,

rm /opt/homebrew/etc/my.cnf

注意:此文件可能位于您计算机上的不同位置。

好的,现在进行全新安装。

brew install [email protected]

brew link [email protected] --force

如果链接该包,您可以按照brew日志建议将其添加到您的路径中。因此,将

export PATH="/opt/homebrew/opt/[email protected]/bin:$PATH"
添加到您的
~/.zshrc

使用

brew services list
brew services
验证服务是否可用。

如果您看到 [电子邮件受保护],请继续并以

brew services start [email protected]

开始

4
投票

我今天遇到了同样的问题,并注意到我在

/usr/local/var/mysql/
目录中已经有数据,可能来自以前的安装。

我不在乎丢失目录中的任何内容,因此我将其全部删除了

rm -rf /usr/local/var/mysql
并运行了
brew uninstall [email protected]
brew install [email protected]

当我下次检查时

brew services list
它已经在运行,这是以前没有发生过的事情,而且一切正常。


0
投票

这是我后来在酿造过程中发现的一个关键问题。

如上

brew services
所示,用户是root,而不是当前用户。 这是一个非常严重的问题,也是这个问题的主要原因。解决这个问题的方法是:

  1. sudo su
  2. brew services
    你应该找到 root 拥有的服务
  3. brew stop [email protected]
    brew uninstall [email protected]
    这些基本上为 root 用户卸载 [电子邮件受保护]
  4. exit
     返回给用户。
  5. brew install [email protected]
    
    
现在服务的所有者就是当前用户,告别brew的疯狂行为


0
投票
需要升级

brew upgrade mysql
    
© www.soinside.com 2019 - 2024. All rights reserved.