- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
另一个 macOS 升级 + 另一个 MySQL 升级 = 另一组问题。
我似乎无法让 MySQL 8.0.18 在 macOS 10.15 Catalina 上作为 Homebrew 服务运行。请告诉我错误的方法。
这是我所做的:
这是我的预期:
MySQL 以用户 root 身份作为 Homebrew 服务愉快地运行。
事情是这样的:
MySQL 立即崩溃并死掉,在 /usr/local/var/mysql/[host.domain.com].err
中留下一个神秘的最后语句:
"[ERROR] [MY-010123] [Server] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!"
附加信息:
MySQL 在随后的重启中运行良好只要我手动启动它:
sudo reboot now
ssh [servername.domain.com]
touch /tmp/mysql.sock
mysql.server start
这是 /usr/local/var/mysql/[servername.domain.com].err
文件内容:
2019-10-20T18:02:14.6NZ mysqld_safe Logging to '/usr/local/var/mysql/moriarty.farces.com.err'.
2019-10-20T18:02:14.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2019-10-20T18:02:14.670494Z 0 [System] [MY-010116] [Server] /usr/local/Cellar/mysql/8.0.18/bin/mysqld (mysqld 8.0.18) starting as process 557
2019-10-20T18:02:14.685511Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2019-10-20T18:02:15.617696Z 0 [System] [MY-010229] [Server] Starting crash recovery...
2019-10-20T18:02:15.626461Z 0 [System] [MY-010232] [Server] Crash recovery finished.
2019-10-20T18:02:15.795626Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2019-10-20T18:02:15.833541Z 0 [System] [MY-010931] [Server] /usr/local/Cellar/mysql/8.0.18/bin/mysqld: ready for connections. Version: '8.0.18' socket: '/tmp/mysql.sock' port: 3306 Homebrew.
2019-10-20T18:02:15.993739Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/tmp/mysqlx.sock' bind-address: '127.0.0.1' port: 33060
重启后,当我尝试将 MySQL 作为 Homebrew 服务运行时:
sudo reboot now
ssh [servername.domain.com]
sudo brew services start mysql
MySQL 失败,/usr/local/var/mysql/[servername.domain.com].err
文件中记录了以下错误:
2019-10-20T18:44:13.780394Z 0 [ERROR] [MY-010123] [Server] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
2019-10-20T18:44:13.780503Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-10-20T18:44:13.780727Z 0 [System] [MY-010910] [Server] /usr/local/opt/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.18) Homebrew.
2019-10-20T18:44:13.6NZ mysqld_safe mysqld from pid file /usr/local/var/mysql/moriarty.farces.com.pid ended
最佳答案
切勿将 sudo
与命令 brew
一起使用。它会破坏相关文件的所有权。不支持以 root 身份运行 brew
。 (我说的是brew
,不是mysqld
)
tl;dr Sudo is dangerous, and you installed TextMate.app without sudo anyway.
Homebrew refuses to work using
sudo
.
来自 source code of brew
的警告
check-run-command-as-root() {
...
odie <<EOS
Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
EOS
}
禁用该服务并删除启动守护进程。
# stop and unload the launchdaemon
sudo launchctl unload -w /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
# remove the lauchdaemon file
sudo rm -f /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
sudo rm -f /tmp/mysql.sock /tmp/mysqlx.sock
修复 Homebrew 软件相关文件的所有权
# For x86 Mac
sudo chown -R "$(whoami):admin" /usr/local/*
# For M1 Mac
sudo chown -R "$(whoami):admin" /opt/homebrew/*
# it will take some time
重新启用 MySQL 服务。
# DO NOT USE "sudo brew"
brew services start mysql
更新:
似乎你们中有些人不熟悉 Homebrew。我将在此处解释 Homebrew 如何管理服务。
mysqld
默认监听端口 3306
,这不是特权端口。所以不需要用root启动mysqld
。 systemd
在 Linux 上以 root 启动 mysqld
,但 macOS 不是 Linux。
Homebrew 在 launchd
的帮助下管理服务,它是 macOS 上的 systemd
替代品。 launchd
启动一个前台进程并为您管理它,就像 systemd
所做的那样。
brew services start/stop mysql
将满足您的需要。它创建一个 launchd 文件 ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
,用它启动 mysqld
(由当前用户运行)。
/usr/local/mysql/support-files/mysql.server
是MySQL自带的shell脚本,可以帮助你启动mysqld
。不推荐直接使用它,除非您从外部 Homebrew 源构建MySQL。如果您使用 Homebrew,请坚持使用 brew services
。或者换句话说,如果你使用 Homebrew,你应该以 Homebrew 的方式做事。
关于mysql - macOS 10.15 Catalina 上的 Homebrew MySQL 8.0.18 无法作为服务运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58466272/
我也不能再跑 brew upgrade或 brew update : 都中止 Error: homebrew-core is a shallow clone. To `brew update` fir
是否可以与 Homebrew 并行安装多个版本? 我发现自己处于需要 sbt-0.7.x、sbt-0.10.x 和 sbt-0.11.0 的情况。我目前已手动安装了 sbt-0.7.7 和 sbt-0
我使用Homebrew Cask来安装ngrok。安装进行得很好。我正在尝试编辑ngrok的config.yml文件。我在Mac上找不到它。 看来ngrok住在这里: /usr/local/Cask
Homebrew 瓶是从哪里下载的? Homebrew Documentation: Bottles不说。 我创建了一个 Github Homebrew/brew issue #672 . 最佳答案
我想安装screen,但是接下来我应该做什么? $ brew search screen imgur-screenshot screen
我最近决定 brew install stack,Haskell 包管理器,但中途改变了主意,用 ctrl+c 打断了。看起来安装在我的计算机上占用了合理数量的存储空间,但是,所以我认为从安装中下载的
有以下两个包有冲突。解决此冲突的正确方法是什么? $ brew cask install rar ==> Downloading https://www.rarlab.com/rar/rarosx-5
我想将一些 shell 脚本 + 支持文件打包成一个 Homebrew 公式,将这些脚本安装在用户的某处 $PATH .我将从我自己的水龙头中提供配方。 通读formula cookbook这些示例似
我今天在不知道自己在做什么的情况下安装了 Homebrew 软件,现在我的 scikit-learn 包坏了。我想通过卸载 Homebrew 软件来撤消我所做的一切,并尝试按照此处的提示操作: htt
不知何故,我的 Homebrew 安装有一个 prefix 〜/.rvm。我想将其设置为默认值 /usr/local . 这可能吗? 最佳答案 看来我需要 卸载 Homebrew 软件。 Here's
我有一个具有以下依赖项的电子应用程序: ffmpeg libmagic gdbm 目前,我使用 Homebrew 并运行 brew install ffmpeg等在应用程序启动时。 但是,这对于分发来
我有一个 Homebrew安装在 $HOME/brew ,而且从历史上看,它运行良好。不幸的是,随着时间的推移,Homebrew 越来越不能容忍 /usr/local 之外的安装。 .各种公式对安装前
反正有没有命令brew显示任何给定包的所有已安装或可选依赖项?查看哪些安装包本身是其他包的依赖项也会很有帮助。 最佳答案 您可以使用 info 命令,例如。 brew info ffmpeg 它将向您
我按照 http://caskroom.io/ 中的描述安装了 Homebrew Cask 用于踢球.它归结为以下命令: $ brew install caskroom/cask/brew-cask
是否可以在详细模式下运行,在该模式下,它实际上并不安装软件包,而只是安装软件包的位置和方式的详细信息? 最佳答案 您可以运行 brew outdated 来查看运行 brew Upgrade 时将升级
在我的 CI 设置中,我想确保安装给定公式的最新版本,无论它是否已安装。 我目前正在使用类似的东西: brew update brew install FORMULA || (brew upgrade
我正在阅读这个堆栈溢出答案 Mac user and getting WARNING: Nokogiri was built against LibXML version 2.7.8, but has
我正在尝试在 Mac OS X 10.9 上安装 wxWidgets。它已经安装,但我遇到了描述的问题 here 。有人建议添加 ENV.append_to_cflags "-stdlib=libc+
我最近开始使用 Homebrew 程序,我对当我在我的系统上 brew 某些东西时会发生什么感到有点困惑,但它的 brew 依赖项是仅桶的,这意味着它们在 /usr 下链接/本地。 例如,我正在安装v
我知道当我brew update时,它会列出所有==>更新的公式,但是当我更新了几次而没有运行brew update时code>,如何获取所有可以升级的应用程序的列表? 最佳答案 每homebrew
我是一名优秀的程序员,十分优秀!