我读过很多关于安装 MySQL 的教程,我发现其中很多只讨论安装mysql-server
,而有些还讨论安装mysql-client
。我的主要问题是:什么时候需要安装mysql-client
?
似乎当我mysql-client
从系统中删除时,我仍然可以mysql-server
通过命令行访问(只需发出mysql -u root
-p)。如何mysql-server
在没有安装的情况下访问mysql-client
?
答案1
该mysql-client
软件包是一个元软件包,没有自己的实际文件(除了样板版权等)。其唯一目的是依赖于包含最新版本 MySQL 客户端的实际软件包,在 bionic 中为mysql-client-5.7
。因此,当您mysql-client
在任何版本的 Ubuntu 上安装时,您将获得可用的最新版本的 MySQL,并且当您将 Ubuntu 升级到另一个主要版本时,MySQL 也将升级。这也意味着,如果您删除此文件并继续mysql-client-5.7
升级,则您的客户端和服务器版本将不同步,或者升级将因依赖性问题而失败。
答案2
我发现当你安装该mysql-server
软件包时,会自动安装一个 MySQL 客户端:
~$ sudo apt install mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libevent-core-2.1-6 *mysql-client-5.7* mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7
因此通常只建议安装该mysql-server
包(而不单独安装mysql-client
)。
编辑
因此,我猜测mysql-client
只有当您只需要客户端(用于连接到远程服务器)时,该包才是真正必要的。