【问题标题】:mysql command not found in bash在 bash 中找不到 mysql 命令
【发布时间】:2019-10-22 11:09:45
【问题描述】:

在我的 Mac 上,如果我在 bash 中键入 mysql --version,bash 会显示找不到该命令。

$ echo $PATH
/Users/merle/.nvm/versions/node/v11.10.0/bin:/usr/local/opt/mysql\@5.5/bin:/Users/merle/Downloads/mongodb-osx-x86_64-4.0.4/bin:/Applications/PostgreSQL\ 10/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands

$ /usr/local/opt/mysql\@5.5/bin/mysql --version
/usr/local/opt/mysql@5.5/bin/mysql  Ver 14.14 Distrib 5.5.62, for osx10.14 (x86_64) using  EditLine wrapper

$ mysql --version
-bash: mysql: command not found

我将 mysql bin 目录添加到我的 .bashrc 中的 PATH 变量中。 不知道怎么回事。

【问题讨论】:

  • which mysql 的输出是什么?
  • 没有输出。
  • 也许尝试注销并登录?
  • 试过了,没用,
  • 你是怎么安装mysql的?

标签: mysql bash macos


【解决方案1】:

问题在于 PATH 环境中的反斜杠 (\):

/usr/local/opt/mysql\@5.5/bin

删除后:

/usr/local/opt/mysql@5.5/bin

【讨论】:

  • 如果我在 /usr/local/opt/ 中,并且输入 cd my+Tab,它会变成 cd mysql\@5.5。为什么会发生这种情况?
  • 我想这取决于上下文。从我们看到的情况来看,在 bash 中使用 @ 时,您需要将其转义 (\@);在环境变量中使用它时不会。
  • @Merle,\ 也会出现在带有空格的文件夹名称中。在命令行中需要使用黑斜线来让 Bash 知道它是一个连续变量,但在 bashrc 中,它不是必需的,因为它知道直到分隔符 :
  • @jeremysprofile 但这个文件夹 mysql@5.5 没有空格。
  • 取决于.bashrc中的赋值方式:如果是PATH="/mysql\@5.5/bin",则保留反斜杠;如果是PATH=/mysql\@5.5/bin,没关系。
【解决方案2】:

您需要将 mysql 添加到您的环境中。根据您使用的是什么(标准bash或zsh或其他),您需要打开配置文件,例如

~/.zshrc~/.bash_profile 并在其中添加以下内容

export PATH = "${PATH}/etc/local/mysql/bin"

不要忘记应用更改

source ~/.zshrc

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2020-10-25
    • 2018-01-04
    • 2016-06-23
    相关资源
    最近更新 更多