当前位置: 首页 > 知识库问答 >
问题:

如何修复brew安装的MariaDB挂在'mysql.server stop'上而不停止?

华衡
2023-03-14

这个问题不是mariadb服务器的重复:我不能用'mysql.server stop'停止服务器。

MariaDB版本为10.4.11-MariaDB

共有1个答案

阎元徽
2023-03-14

我想我找到了罪魁祸首。

通过查看mysql.server(cat/usr/local/bin/mysql.server)的源代码,我发现运行mysql.server start以我的身份运行mysqld_safe(whoami)。

现在,我还发现运行mysql.server stop会运行一个su_kill函数,该函数以mysql的身份运行su,但该函数失败,因为在macOS上不存在mysql用户。

user='mysql'

su_kill() {
  if test "$USER" = "$user"; then
    kill $* >/dev/null 2>&1
  else
    su - $user -s /bin/sh -c "kill $*" >/dev/null 2>&1
  fi
}

不确定我是否做错了什么,但根据文档,运行mysql.server start是在brew安装上启动MariaDB的正确方式。

无论如何,要修补mysql.server stop,请运行:

cp /usr/local/bin/mysql.server /usr/local/bin/mysql.server.backup
sed -i "" "s/user='mysql'/user=\`whoami\`/g" /usr/local/bin/mysql.server
 类似资料:
  • null 和其他几个教程一起,但它总是回到需要知道当前密码,我被卡住了。还有谁有幸用Brew在macos上安装mysql或mariadb吗? 编辑:我卸载并重新安装,甚至在删除/usr/local/var/mysql之后,当我运行mysql_install_db时,它说mysql.user已经存在,所以它不能安装。卸载时如何删除所有数据库? 编辑2:所以我想我终于设法更改了密码,但在尝试执行mys

  • 问题内容: 我正在尝试使用Homebrew在Mac OS 10.6上设置MySQL 。 一切顺利,我也成功了。 但是,当我尝试使用以下方法连接到服务器时: 我得到: 我也尝试过访问, 但是使用或不使用密码都无法使用。 这是全新计算机上的全新安装,据我所知,必须使用root用户密码才能访问新安装。我也尝试过: 但我也得到 问题答案: 我认为使用已安装的旧版本mysql可以最终胜任这一职位。我遇到了同

  • 我想在新的 OS X 机器上设置 java,并且更喜欢使用 brew 进行 OS X 软件包管理。如何使用酿造安装最新的 java?

  • 我刚刚通过自制完成了python最新稳定版本的安装。 安装python3 一切正常。我想安装包,例如PyMongo。我没有pip。 $pip-bash:pip:未找到命令 没有自制公式: $brew安装PyMongo brew安装PyMongo错误:没有可用的公式用于PyMongo搜索公式。。。正在搜索点击。。。 当Python通过自制软件安装时,你知道在OS X上安装Pymango的最佳方式是什

  • 我在跑: < li>IntelliJ旗舰版2016.3 < li >自制软件1.1.2 < li>OS X 10.11.5 El Capitan 我运行groovy,导致groovy安装在/中。Brew 还添加了一个符号链接:/ ,< code >/user/local/Cellar/groovy ,< code >/user/local/Cellar/groovy/2 . 4 . 7 ,< co

  • 问题内容: 在我的Mac上,我已经安装了php并且工作正常。我最近想安装mcrypt,所以我使用brew来安装。尽管它似乎可以很好地安装,但是它没有出现在我的phpinfo()中。因此,我认为brew安装了mcrypt的php并不是apache使用的php。 有人知道我怎么做: 检查brew安装的php和Apache使用的php之间是否有区别? 使Apache使用酿造安装的PHP? 欢迎所有提示!