在 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 安装 mariadb 后遇到了同样的问题,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 命令的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Aptana 3 (OS X) 在导入的项目中找不到 django 设置模块?
在 Mac OS X 10.9 上安装 PyLucene 时在符号索引中找不到 Atom
如何让 ibm_db 或 PyDB2 python 模块在 Mac OS X 10.7 Lion 中与 DB2 一起使用?