Mysql 如何以root用户身份运行brew?

Mysql 如何以root用户身份运行brew?,mysql,macos,shell,homebrew,root,Mysql,Macos,Shell,Homebrew,Root,我知道这是一个经常被问到的问题,但我真的很挣扎 我最近尝试在我的Mac OS El Capitan上安装带有自制程序的MySQL。但是,我遇到了一些问题,我想重新安装它。然而,每当我尝试这样做时,它就会给我: Error: Permission denied @ rb_sysopen - /usr/local/var/homebrew/locks/mysql.formula.lock 我试图通过在根帐户中手动排序命名文件来绕过这个错误,但是文件太多了 所以我尝试用root卸载它,但它给了我以下

我知道这是一个经常被问到的问题,但我真的很挣扎

我最近尝试在我的Mac OS El Capitan上安装带有自制程序的MySQL。但是,我遇到了一些问题,我想重新安装它。然而,每当我尝试这样做时,它就会给我:

Error: Permission denied @ rb_sysopen - /usr/local/var/homebrew/locks/mysql.formula.lock
我试图通过在根帐户中手动排序命名文件来绕过这个错误,但是文件太多了

所以我尝试用root卸载它,但它给了我以下错误:

Error: 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.
我看了很多文章,包括这篇!许多人建议我使用root将/usr/local文件夹直接发送到自己的用户帐户,这样我就可以在没有任何权限问题的情况下运行brew,但这太危险了

我试着跑:

sudo chown root /usr/local/bin/brew
但这并不奏效

是否有任何方法可以绕过此错误,以root用户身份运行brew

许多人建议我使用root将/usr/local文件夹直接发送到自己的用户帐户,这样我就可以在没有任何权限问题的情况下运行brew,但这太危险了

chown
ing所有的
/usr/local/
可能是个坏主意,因为它不完全在自制的控制之下。但是只要
/usr/local/var/homebrew/locks/mysql.formula.lock
就可以了

chown $USER /usr/local/var/homebrew/locks/mysql.formula.lock
并遵循brew医生的建议


已尝试运行:
sudo chown root/usr/local/bin/brew
,但效果不理想

所有这些都是为了使文件
/usr/local/bin/brew
归root所有。它不能使它作为root运行。您应该将其更改为归您的用户所有,否则您将无法升级brew

让它以root用户身份运行不要这样做。这本身就是危险的,而且你目前对权限的理解更是如此。没有个人权限,需要一段时间才能习惯和欣赏


Homebrew不会以root用户身份运行,以限制恶意软件包或简单错误可能造成的损害。以用户身份运行只会损坏用户可以访问的内容。这将隔离系统文件等重要内容。这就是Unix权限系统的目的:限制可能造成的损害。如果以root用户身份运行
brew
,则所有下注均已取消

此外,如果
/usr/local/var/homebrew/locks/mysql.formula.lock
归root所有,则意味着mysql作为root运行。如果您以root用户身份运行MySQL,并且它受到危害,那么您的整个系统就会受到危害。如果您以您的用户或特殊受限的MySQL用户身份运行MySQL,则只能泄露您的用户文件或MySQL自己的文件。按照自制软件的规定运行它


学习以尽可能少的权限运行是非常值得的。

由于安全原因,使用brew作为根用户是个坏主意。相反,您可以将brew文件所有权更改为当前登录用户。键入以下单个命令:

sudo chown $USER /usr/local/bin/brew

首先运行
brew doctor
并遵循它的建议。我运行了“brew doctor”,但只有关于我需要解决的问题的警告。我仍然无法以root用户身份运行brew或绕过权限错误。“我需要解决的问题警告”-是的,没错。您解决了吗?MySQL权限错误的解决方案是不以root用户身份运行Homebrew,正如警告所告诉您的,这是一个坏主意。您应该修复所有
brew doctor
警告,如果警告不够,请确保您拥有
/usr/local
及其下的所有内容()。