我该如何在Mac上安装命令行MySQL客户端?

201

我想在命令行上安装MySQL客户端,而不是GUI。我在网上搜索过,但只找到了有关安装MySQL服务器的说明。


1
我执行了 brew install mysql-client。接下来该做什么?我期望会得到一个 mysql 命令行选项或者类似的东西。但是在 /usr/local/ 目录中没有找到 mysql。 - Prachi
1
brew install mysql-client 命令无法安装可用的 MySQL 客户端。 - Andrew Koster
1
@AndrewKoster 当然不会。那样可能会有意义 :) - ekkis
16个回答

199
安装MySQLWorkbench,然后。
export PATH=$PATH:/Applications/MySQLWorkbench.app/Contents/MacOS

9
这怎么可能成为被接受的答案呢?这个方法只适用于一次会话,每次会话都需要重新操作。(是的,我尝试过重启,但那也没用) - jonalv
7
由于shell命令很容易添加到自己的.bashrc或.bash_profile中,如果希望每次启动时运行任何命令(如此命令),可以将其添加到其中。 - jdunk
107
问题中明确指出“不使用任何图形用户界面”,那么为什么这个回答会被接受呢? - Josh J
11
将此答案中的命令添加到~/.bash_profile文件中,然后运行source ~/.bash_profile命令或加载一个新的终端实例。 - Luke
8
你已经做得太过火了。你可以使用GUI和CLI两种方式,只需使用CLI即可。将它放入你的bash rc中就行了。 - duality_
显示剩余10条评论

133

这将严格安装一个命令行客户端,而不涉及其他开销:

安装Homebrew(如果您没有它):

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

接着安装mysql-client:

brew install mysql-client

然后,将mysql-client二进制目录添加到你的 PATH 中:

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

最后,重新加载您的 bash 配置文件:

source ~/.bash_profile

如果您无法在终端中运行mysql,则应尝试打开一个新的终端。


21
如果使用默认的zsh(最近macOS的默认设置),请使用echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.zshrc。该命令将会将路径/usr/local/opt/mysql-client/bin添加到系统环境变量PATH中。 - Jonny
2
如果您使用_zsh_而不是_bash_,您应该将export PATH="/usr/local/opt/mysql-client/bin:$PATH"添加到您的~/.zprofile文件中。 - bounav
4
这就是正确答案。我简直无法相信其他的回答居然被接受了。 =0 - medina
1
在我的Catalina Mac上, brew install mysql-client 将可执行文件放置在 /usr/local/cellar/mysql-client/8.0.27/bin 中,为避免与Apple提供的mysql发生冲突,它没有创建一个可执行目录中的符号链接。所以我创建了自己的符号链接: $ ln -s /usr/local/cellar/mysql-client/8.0.27/bin/mysql /usr/local/bin/mysql8。完成后,我可以使用 $ mysql8 -V 来调用它。这应该适用于bash和zsh。 - user1527225
这在我的 macOS Monterey 上有效,谢谢。 - Lucas Liu
2
Mac M1,MySQL位于/opt/homebrew/opt/mysql-client/bin/ - Edoardo

92

9
楼主暗示他不想安装服务器,只想安装命令行客户端。 - Greg Brown
@JackSparrow 你应该先阅读问题。你的回答需要或暗示安装mysql服务器,但问题明确表示他不想安装服务器。 - Joseph
谢谢你的回答。安装程序应该处理那种事情。 - Agustí Sánchez

72

最佳选择是:

brew install mysql

15
这也安装了服务器,那么仅安装客户端怎么办? - raarts
93
brew install caskroom/cask/mysql-shell 将安装命令行客户端。 - Krystian
31
值得一提的是,如果以这种方式安装,shell 将使用 mysqlsh 命令启动。 - Eric Jorgensen
6
谢谢 @Krystian 和 @eric-jorgensen。我将命令修改为 brew install Caskroom/cask/mysql-shell,将 "caskroom" 的大写字母改为了 "C",使用的命令是 mysqlsh。 - il0v3d0g
2
@Krystian:你应该把你的评论发布为答案。无论如何,对于那个评论点赞。我的MacOS Mojave 10.14.6需要运行命令brew install homebrew/cask/mysql-shell - Romeo Sierra
显示剩余6条评论

39

3
考虑到原帖作者想要“仅客户端”和“命令行”的要求,这是最接近正确答案的。然而,user16...和@JackSparrow给出了关于安装后该怎么做的最有用的指示。 - Mike Williamson
据我所知,MySQL客户端未通过此方法安装。 - Rondo
4
看起来他们将其作为单独的工具分离出来了,https://dev.mysql.com/downloads/shell/ - troseman
MySQL Shell安装了mysqlsh,它似乎是经典的mysql命令的等效物。您可以使用Homebrew安装它,方法是brew cask install mysql-shell - Bernhard Fürst
3
如果您期望看到mysql提示符,请尝试使用 mysqlsh --sql,这将提供类似的体验(并且大多数参数相同,非常方便!) - Lorna Mitchell

32

现在有一个 mysql-client 公式。

brew install mysql-client


12
它确实会将mysql命令安装为类似于/usr/local/Cellar/mysql-client/x.x.x/bin/mysql的形式,这可能不在PATH中。 然后执行brew link mysql-client即可解决。 - alx
2
安装 MySQL 5.7,请执行以下命令:brew install mysql-client@5.7 - dEll
感谢@alx,链接让我解决了问题。不过,由于我是通过Homebrew安装的版本,所以我不得不执行brew link mysql-client@5.7 - aus
2
谢谢,这个方法有效!不过在安装后,我还需要将以下内容添加到我的.zshrc文件中:export PATH="/usr/local/opt/mysql-client/bin:$PATH" - Pavel

10

使用Homebrew安装mysql-shell,请执行以下命令:

brew cask install mysql-shell

您可以使用以下命令启动MySQL Shell:

mysqlsh

如果您想直接进入SQL模式,请运行以下命令:

mysqlsh --sql

所以默认情况下可能有一些愚蠢的js模式,而您的最后一段代码展示了如何规避这种模式,再加上一个。 - Timo

7
打开“MySQL Workbench” DMG 文件并:
# Adjust the path to the version of MySQL Workbench you downloaded
cp "/Volumes/MySQL Workbench 6.3.9.CE/MySQLWorkbench.app/Contents/MacOS/mysql" /usr/local/bin
# Make sure it's executable
chmod +x /usr/local/bin/mysql

弹出DMG盘。

2
这就是我通过你的答案所获得的启示解决问题的方法。谢谢。 cp /Applications/MySQLWorkbench.app/Contents/MacOS/mysql /usr/local/bin - zzxwill
我建议使用软链接:ln -s /Applications/MySQLWorkbench.app/Contents/MacOS/mysql /usr/local/bin,这样更新就会反映出来,而不必再次运行复制。 - David Weber

3

通过brew安装的命令:

$ brew cask install mysql-shell

看看你可以做什么:

$ mysqlsh --help

从安装了mysqlsh客户端的地方运行查询:

$ mysqlsh --host=192.x.x.x --port=3306 --user=user --password=xxxxx

MySQL Shell 8.0.18

Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
WARNING: Using a password on the command line interface can be insecure.
Creating a session to 'user@192.x.x.x:3306'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 16
Server version: 8.0.18 MySQL Community Server - GPL
No default schema selected; 
type \use <schema> to set one.

 MySQL  192.x.x.x:3306 ssl  JS >

 MySQL  192.x.x.x:3306 ssl  JS > `\use rafdb`

Default schema set to `rafdb`.

新的 brew 语法是 brew install mysql-shell --cask。但为什么它被列在 cask 部分下?cask 不是用于 GUI 应用程序吗?此外,这可能会有所帮助:mysqlsh --host=xxxx --port=3306 --user=xxx --password=xxxx --ssl-mode=DISABLED --sql - Rick

2
如果您在Mac上从DMG安装了,它会创建一个MySQL客户端,但不会将其放入用户路径中。
请将以下内容添加到您的.bash_profile中:
export PATH="/usr/local/mysql/bin:$PATH

这将允许您以自己的身份从任何地方运行mysql

这对我有用。我从MySQL网站安装了MySQL Shell,但仍然没有作用。按照上面的指示修复路径解决了问题。似乎安装确实起作用了,但未正确设置路径(如果有的话)。 - James Smith

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