在Mac终端中使用MySQL

11

我好像遗漏了一些东西,所有显示如何从OSX的命令行运行MySQL的教程都不起作用。

我可以通过系统偏好设置打开和关闭MySQL服务器状态,但是如果我按照其中一个教程使用sudo mysqld_safe从命令行运行,它会返回sudo: mysqld: command not found

我还尝试使用mysql -u root -p登录MySQL,结果得到bash: mysql: command not found

/usr/local/mysql/bin/确实存在,我只是觉得客户端上没有正确安装某些东西。非常感谢任何帮助解决如何从终端访问mysql的方法。提前致谢。

3个回答

26

/usr/local/mysql/bin 不在默认的 $PATH 中。 $PATH 是当您尝试使用可执行文件而没有指定完整路径时搜索的目录列表。

您需要使用完整路径(/usr/local/mysql/bin/mysql_executable_here),或将其添加到您的 $PATH 中:

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

对于 macOS Mojave 及更早版本

您可以将此行添加到称为 .profile 的文件中,该文件位于您的主目录中,以便每次创建新 shell 时都会执行它:

echo 'export PATH="$PATH:/usr/local/mysql/bin"' >> ~/.profile
source ~/.profile
mysql -u USERNAME -p

适用于macOS Catalina及更高版本

macOS Catalina开始,Mac设备使用zsh作为默认的登录 shell 和交互式 shell,并且您需要更新位于您的主目录中的.zprofile文件。

echo 'export PATH="$PATH:/usr/local/mysql/bin"' >> ~/.zprofile
source ~/.zprofile
mysql -u USERNAME -p

1
你看过我的回答吗?:/ 我觉得它应该能够回答这个问题,如果不够的话我也不确定该如何表达。 - zneak
1
是的@StuartKuredjian,如果不存在就创建它。这正是建议的命令将要做的事情。 - zneak
我使用文本编辑器创建了一个名为.profile的文件,确认我要创建一个系统文件,并将您提供的内容粘贴到文件中。我保存了它,打开了一个新的shell并尝试使用mysql,但它仍然返回“-bash:mysql:命令未找到”,我错过了什么? - dbconfession
echo $PATH 包含 /usr/local/mysql/bin 吗?mysql 是否在 /usr/local/mysql/bin 中?您是否在主目录(〜)中创建了 .profile 文件? - zneak
(1) 抱歉,我不知道这是什么意思:"'Does 'echo $PATH' contain '/usr/local/mysql/bin'" (2) 是的,'mysql'在'/usr/local/mysql/bin'中。 (3) 是的,我使用'TextEdit.app'创建了.profile文件,并将其保存到'/Users/mycomputername/'。提醒一下,你给出的第一行代码是有效的,但每次打开新的 shell 后都需要重新应用它。 - dbconfession
显示剩余9条评论

6

我也遇到过这种问题。我解决的方法如下:

  1. 进入目录 cd /usr/local/mysql/bin/
  2. 输入命令 ./mysql -u root -p;
  3. 它会要求你输入密码,这个密码是你在安装时设置的root密码。这样你就可以连接到mysql数据库了...希望能帮到你。

0
除非我在这里漏了什么,我相信您只需安装MUMP并运行MySQL Workbench,就不必处理很多这些问题。

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