在OS X 10.7中找不到Mysql命令


163

我无法让我的MySQL在OS X 10.7上启动。它位于/usr/local/mysql/bin/mysql

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

我试过这无法从命令行mac访问mysql,但仍然找不到命令。我尝试使用dmg安装mysql,并且尝试通过自制软件安装它,但我无法使其正常工作。当我尝试使用自制软件启动mysql时,我无法启动MySQL

这是我的$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


1
安装目录是否在PATH中?
格雷格(Greg Hewgill)

1
有很多事情要检查。首先,请仔细按照DMG随附的安装说明进行操作,并涵盖OS X的所有相关步骤。还提供了一个系统偏好设置面板来启动/停止mysql。此外,OSX还因更改mysql.sock的位置而臭名昭著-您需要在my.cnf和php.ini中将其设置为/tmp/mysql.sock-谷歌上将有许多指南
RiquezJP 2012年

mysql --version仅在您指示BASH具有该快捷键命令时才有效-这在安装中详细说明,请阅读我的知识
RiquezJP 2012年

5
如果导航到mysql文件夹cd / usr / local / mysql / bin并发出version命令,它将起作用。./mysql --version
RiquezJP 2012年

Answers:


371

这是您的$ 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时都运行此命令,请将其放在文件中,该文件在终端打开时运行。


2
现在我得到的错误是我与自制错误ERROR 2002(HY000):无法通过套接字'/tmp/mysql.sock'(2)连接到本地MySQL服务器
SilverNightaFall 2012年

2
这意味着mysql套接字放错了位置,这是一个非常不同的错误。这是mysql的问题,而不是您的$PATH
Hophat Abc 2012年

1
执行其他答案的说明:删除此pid文件,确保所有实例都已停止(杀死所有未关闭的进程),检查是否在侦听MySQL端口3306(netstat应该有帮助),然后尝试再次启动MySQL。
Hophat Abc 2012年

1
我建议打开“活动监视器”并杀死所有mysql实例
Hophat Abc 2012年

1
我的mysql二进制文件不在/usr/local/mysql/bin
user124384

29

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

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

这对我有用。


29

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

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

但是,如果您需要其他可执行文件(如)mysqldump,则需要为其创建软链接。


2
sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
Bob Stein

18

您必须.bashrc使用以下命令在文件中设置mysql的PATH :

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

但是,如果您正在使用,oh my zsh则必须在.zshrc文件内部添加路径。


9

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

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

本质上,这使您可以从任何地方访问mysql。

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

立即检查mysql版本:mysql --version

如果仍然无法解决问题,请关闭终端并重新打开。现在检查版本,它应该可以工作。祝好运!


8

如果您安装了MySQL Server,但仍然得到

mysql -u root -p command not found

您最有可能遇到这种情况,因为您使用的是较旧的Mac版本。

试试这个:

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

粘贴export PATH=${PATH}:/usr/local/mysql/bin/并保存

而不是mysql -uroot -p将以下内容粘贴到您的终端中:

/usr/local/mysql/bin/mysql -uroot -p 

输入密码。现在你进了。


3

我已经尝试了很多关于SO的建议,但这实际上对我有用:

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

然后你输入

mysql

它将提示您输入密码。


我没有使用过新的Mac版本,我的mac电脑已经死了:(所以我无法对其进行测试
zazu

@zazu对不起,您迷路了。
Sajad

3

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

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

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


2

在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


1

带MAMP

  1. 通常在/ Applications / MAMP / Library / bin / mysql中找到mysql
  2. 须藤vi / etc / paths
  3. 将此路径添加到文件/ Applications / MAMP / Library / bin
  4. :wq(保存并退出文件)
  5. 关闭终端机窗口
  6. 重新打开终端并输入mysql,它应该可以工作

0

在终端执行:

vi ~/.bash_profile 

并添加以下行:

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

并在终端中输入:

mysql -u [username] -p [password]

0

也许我会帮助别人。以上所有答案均不适用于Catalina。最后,这解决了问题

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

当然,您必须更改已安装的mysql版本

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.