zsh: 命令未找到:mysql。 MySQL 不兼容 zsh 吗?

4

在 macOS 的 zsh 中安装 MySQL 是不可能的吗?

我一直在尝试在我的 Mac 上安装 MySQL。

zsh: 找不到命令:mysql

我应该放弃在 zsh 中设置 MySQL 并尝试在 bash 中安装吗?


% brew install mysql@5.7

==> Downloading https://ghcr.io/v2/homebrew/core/mysql/5.7/manifests/5.7.32-2
Already downloaded: /Users/stackover/Library/Caches/Homebrew/downloads/abe6a0a4787f4c4bd9c6d14e27d98d868c1f0f619cbbba601e8225--mysql@5.7-5.7.32-2.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/mysql/5.7/blobs/sha256:82867504
Already downloaded: /Users/stackover/Library/Caches/Homebrew/downloads/8db250bb2773af3411c71cf86232ed647cdf9366670c716c52574d--mysql@5.7--5.7.32.arm64_big_sur.bottle.2.tar.gz
==> Pouring mysql@5.7--5.7.32.arm64_big_sur.bottle.2.tar.gz
==> Caveats
We've installed your MySQL database without a root password. To secure it run:
    mysql_secure_installation

MySQL is configured to only allow connections from localhost by default

To connect run:
    mysql -uroot

mysql@5.7 is keg-only, which means it was not symlinked into /opt/homebrew,
because this is an alternate version of another formula.

If you need to have mysql@5.7 first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc

For compilers to find mysql@5.7 you may need to set:
  export LDFLAGS="-L/opt/homebrew/opt/mysql@5.7/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/mysql@5.7/include"


To have launchd start mysql@5.7 now and restart at login:
  brew services start mysql@5.7
Or, if you don't want/need a background service you can just run:
  /opt/homebrew/opt/mysql@5.7/bin/mysql.server start
==> Summary
  /opt/homebrew/Cellar/mysql@5.7/5.7.32: 319 files, 233.7MB
stackover@stackoverjunoMacBook-Air ~ %   echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
stackover@stackoverjunoMacBook-Air ~ % myql --version
zsh: command not found: myql
stackover@stackoverjunoMacBook-Air ~ % mysql --version
zsh: command not found: mysql
stackover@stackoverjunoMacBook-Air ~ %   export LDFLAGS="-L/opt/homebrew/opt/mysql@5.7/lib"
stackover@stackoverjunoMacBook-Air ~ %   export CPPFLAGS="-I/opt/homebrew/opt/mysql@5.7/include"

 echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc

导出LDFLAGS="-L/opt/homebrew/opt/mysql@5.7/lib"

我检查它是否已安装:

stackover@stackoverjunoMacBook-Air ~ % mysql --version     

但是
zsh: command not found: mysql

我也尝试过这个:

stackover@stackoverjunoMacBook-Air ~ % mysql -uroot
zsh: command not found: mysql 

如果您运行命令 (PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH; mysql --version),包括括号,会发生什么? - user1934428
"在zsh中安装mysql" - 这是什么意思?这与编程有什么关系? - Nico Haase
1个回答

1
stackover@stackoverjunoMacBook-Air ~ %   echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
stackover@stackoverjunoMacBook-Air ~ % mysql --version
zsh: command not found: mysql

你的shell不能自动从$path中获取新的可执行文件。为了让shell找到新的可执行文件,你需要

  • rebuild your shell’s command lookup table with
    hash -fr
    
  • restart your shell with
    exec zsh
    
  • or open a new tab in your terminal.

或者 . ~/.zshrc - 0stone0
不,运行. ~/.zshrcsource ~/.zshrc几乎总是一个坏主意。这可能导致随机错误、代码失控和Zsh的逐渐减速。如果您对~/.zshrc或由其引用的文件进行了更改,请重新启动Zsh以应用它们。 - Marlon Richert
将安装包添加到路径不是软件包管理器的全部意义吗?为什么Homebrew不直接为您执行此操作? - Scorb
@Scorb Homebrew 实际上无法为您的 shell 完成此操作,因为它作为您的 shell 的子进程运行,而不是在您的 shell 中(就像本机函数或 source 脚本一样)。但是,您可以告诉您的 shell 刷新其命令查找表。我已将此选项添加到我的答案中。 - Marlon Richert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接