在 OS X 10.7 中找不到 Mysql 命令

Posted

技术标签:

【中文标题】在 OS X 10.7 中找不到 Mysql 命令【英文标题】:Mysql command not found in OS X 10.7 【发布时间】:2012-05-21 14:03:35 【问题描述】:

我无法在 os x 10.7 上启动我的 mysql。它位于/usr/local/mysql/bin/mysql

我在终端中输入mysql --version 时找不到命令。

我试过这个can't access mysql from command line mac,但仍然找不到命令。我尝试使用 dmg 安装 mysql,我尝试通过自制软件安装它,但我无法让它工作。当我尝试使用自制软件启动 mysql 时,我得到 MySQL won't start

这是我的$PATH

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/Users/Victoria/bin:/ usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin

【问题讨论】:

安装目录在你的 PATH 中吗? 有很多事情需要检查。首先,仔细按照 DMG 提供的安装说明进行操作,并涵盖 OS X 的所有相关步骤。还提供了一个系统首选项面板来启动/停止 mysql。此外,OSX 因更改 mysql.sock 的位置而臭名昭著 - 您需要在 my.cnf 和 php.ini 中将其设置为 /tmp/mysql.sock - google ,会有很多指南 mysql --version 仅在您指示 BASH 使用该快捷命令时才有效 - 这在安装阅读我中有详细说明 如果您导航到 mysql 文件夹 cd /usr/local/mysql/bin 并发出版本命令,它将起作用。 ./mysql --version 【参考方案1】:

这是你的 $PATH 的问题:

/usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin

$PATH 是 shell 搜索命令文件的地方。要搜索的文件夹需要用冒号分隔。所以你想要/usr/local/mysql/bin/ 在你的路径中,但它在/usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin 中搜索,这可能不存在。

相反,您想要$PATH:/usr/local/mysql/bin

export PATH=$PATH:/usr/local/mysql/bin 也是如此。

如果您希望每次打开终端时都运行它,请将其放入文件.bash_profile 中,该文件在终端打开时运行。

【讨论】:

现在我收到了使用自制软件时遇到的错误 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 这意味着mysql的socket放错了,这是一个非常不同的错误。那是mysql的问题,不是你的$PATH 按照其他答案所说的去做:删除这个 pid 文件,确保所有实例都已停止(杀死所有不会关闭的进程),检查没有正在监听 MySQL 端口 3306(netstat 应该有帮助)和尝试再次启动 MySQL。 我建议打开活动监视器并杀死所有mysql实例 我的mysql二进制文件不在/usr/local/mysql/bin中。【参考方案2】:

另一种方法是在/usr/local/bin 中创建软链接

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

但如果您需要其他可执行文件,例如mysqldump,则需要为它们创建软链接。

【讨论】:

sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql【参考方案3】:

我遇到了同样的问题,最后我得到了解决方案。如果您使用的是 MAMP,请完成以下步骤。

    启动 MAMP 或 MAMP PRO 启动服务器 打开终端(应用程序 -> 实用程序) 输入:(一行) /Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot

这对我有用。

【讨论】:

【参考方案4】:

你必须在你的.bashrc文件中为mysql设置PATH,使用如下:

  export PATH=$PATH:/usr/local/mysql/bin

但是如果您使用的是oh my zsh,那么您必须在.zshrc 文件中添加路径。

【讨论】:

【参考方案5】:

如果你安装了 MySQL 服务器,你仍然得到

mysql -u root -p command not found

您很可能遇到此问题,因为您的 mac 版本较旧。

试试这个:

在终端open -t .bash_profile的主目录中

在里面粘贴export PATH=$PATH:/usr/local/mysql/bin/并保存

不要写mysql -u root -p,而是将以下内容粘贴到您的终端中:

/usr/local/mysql/bin/mysql -u root -p 

或者使用别名而不是写完整路径

alias mysql=/usr/local/mysql/bin/mysql

输入您的密码。现在你进来了。

【讨论】:

使用别名代替写完整路径 例如:alias mysql=/usr/local/mysql/bin/mysql【参考方案6】:

您的 PATH 可能未设置。转到终端并输入:

echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.bash_profile

本质上,这允许您从任何地方访问 mysql。

键入 cat .bash_profile 以检查 PATH 是否已设置。

现在查看mysql版本:mysql --version

如果这仍然不起作用,请关闭终端并重新打开。现在检查版本,它应该可以工作。祝你好运!

【讨论】:

【参考方案7】:

我已经尝试了很多关于 SO 的建议,但这是对我真正有用的建议:

sudo sh -c 'echo /usr/local/mysql/bin > /etc/paths.d/mysql'

然后你输入

mysql

它会提示您输入密码。

【讨论】:

我没用过新的Mac版本,我的mac死了:(所以我不能再测试了 @zazu 很抱歉你失去了。【参考方案8】:

如果您使用终端,您需要将以下内容添加到./bash_profile

export PATH="/usr/local/mysql/bin:$PATH"

如果您使用的是 zsh,则需要将上述行添加到您的 ~/.zshrc

【讨论】:

【参考方案9】:

在 bash_profile 中添加以下行:

alias startmysql='sudo /usr/local/mysql/support-files/mysql.server start'
alias stopmysql='sudo /usr/local/mysql/support-files/mysql.server stop'

并保存 bash_profile。

现在,在终端中使用以下命令启动和停止 mysql 服务器:

startmysql //to start mysql server

stopmysql //to stop mysql server

【讨论】:

【参考方案10】:

我安装了 MAMP 并且 phpmyadmin 正在工作。

但是找不到/usr/local/bin/mysql

这解决了它

sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/local/bin/mysql

【讨论】:

它创建了一个符号链接。要删除它,试试这个linuxize.com/post/how-to-remove-symbolic-links-in-linux【参考方案11】:

在终端做:

vi ~/.bash_profile 

并添加这一行:

export PATH=$PATH:/usr/local/mysql/bin

然后在终端输入这个:

mysql -u [username] -p [password]

【讨论】:

【参考方案12】:

也许我会帮助别人。以上答案均不适用于 Catalina。终于解决了问题

echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> /Users/$(whoami)/.bash_profile

当然,你要为你安装的mysql的版本而改变

【讨论】:

【参考方案13】:

使用 MAMP

    mysql 通常位于 /Applications/MAMP/Library/bin/mysql sudo vi /etc/paths 将此路径添加到文件 /Applications/MAMP/Library/bin :wq(保存并退出文件) 关闭终端窗口 重新打开终端并输入 mysql,它应该可以工作了

【讨论】:

【参考方案14】:

也许我会帮助你们中的一些人,即使您在尝试更改 .bash_profile 中的路径后无法从终端打开 mysql

那么你总是发现错误“MYSQL not found” 因此您可以直接使用以下命令,它会询问您的密码并打开 sql bash

/usr/local/mysql/bin/mysql -u root -p

【讨论】:

【参考方案15】:

我在通过 HomeBrew 安装 ma​​riadb 后遇到了同样的问题,brew doctor 建议运行 brew link mariadb - 这解决了问题。

【讨论】:

【参考方案16】:

在终端中使用这两个命令

alias mysql=/usr/local/mysql/bin/mysql
mysql --user=root -p

然后它会要求你输入你的用户 pc 的密码

输入密码:

【讨论】:

【参考方案17】:

您可能使用的是 zsh 而不是 bash,那么您必须在 .zshenv 而不是 .bash_profile 中输入上述命令

【讨论】:

以上是关于在 OS X 10.7 中找不到 Mysql 命令的主要内容,如果未能解决你的问题,请参考以下文章

在 OS X 的 Qt5.5 中找不到 qmake

为啥 Aptana 3 (OS X) 在导入的项目中找不到 django 设置模块?

在 Mac OS X 10.9 上安装 PyLucene 时在符号索引中找不到 Atom

Xcode 5 上的目标 OS X 10.7+

如何让 ibm_db 或 PyDB2 python 模块在 Mac OS X 10.7 Lion 中与 DB2 一起使用?

Install Local SQL In Mac OS