2.5.2 Linux 使用 MySQL APT 仓库安装 MySQL
本节提供了使用 MySQL APT 仓库安装 MySQL 的指南。
以下步骤假设您的系统上没有安装 MySQL(无论是由 Oracle 或其他方提供的);如果情况不同,请遵循使用 MySQL APT 仓库替换本地分布式 MySQL或使用直接 deb 包下载替换 MySQL 服务器安装的指南。
添加 MySQL APT 仓库. 首先,添加 MySQL APT 仓库到您的系统软件仓库列表中。请按照以下步骤操作:
-
访问 MySQL APT 仓库下载页面:https://dev.mysql.com/downloads/repo/apt/。
-
选择并下载适合您的 Linux 发行版的发布包。
虽然每次更新都不是必需的,但这确实会更新 MySQL 仓库信息,以包括当前信息,这也包括添加新的 LTS 系列。
-
使用以下命令安装下载的发布包,替换
version-specific-package-name
为下载包的名称(如果您不在包所在文件夹中运行命令,请将其路径添加):$> sudo dpkg -i /PATH/version-specific-package-name.deb
例如,对于包的版本
w.x.y-z
,命令是:$> sudo dpkg -i mysql-apt-config_w.x.y-z_all.deb
请注意,这个包在所有支持的 Debian 和 Ubuntu 平台上都可以工作。
-
在安装包时,您将被询问要安装 MySQL 服务器和其他组件(例如,MySQL Workbench)的版本。如果您不确定要选择哪个版本,不要更改为您默认选定的选项。您也可以选择none如果您不想安装某个组件。在选择所有组件的选项后,选择Ok以完成配置和安装释放包。
Noteinnovation track,从 MySQL 8.1 开始,包括"-innovation-"在组件名称中。
您总是可以后续更改选择的版本;请参阅Selecting a Major Release Version以获取指南。
-
使用以下命令从 MySQL APT 仓库更新包信息(这个步骤是必需的):
$> sudo apt-get update
您也可以手动添加和配置 MySQL APT 仓库;请参阅Appendix A: Adding and Configuring the MySQL APT Repository Manually以获取详细信息。
在启用 MySQL APT 仓库后,您将无法从您的平台的本地软件仓库中安装任何 MySQL 包,直到禁用 MySQL APT 仓库。
启用MySQL APT存储库后,您的系统将自动升级MySQL包,并将Linux发行版软件仓库中安装的native MySQL包替换为APT从MySQL APT存储库中找到替代品。
默认情况下,MySQL服务器和其他必需组件的安装和升级来自您在配置包安装过程中选择的主要版本系列(请参阅添加 MySQL APT 存储库)。但是,您可以随时切换到另一个支持的主要版本系列,通过重新配置已安装的配置包。使用以下命令:
$> sudo dpkg-reconfigure mysql-apt-config
然后,您将被询问要选择的主要版本系列。选择您的选项,并选择确定。返回命令提示符后,使用以下命令从 MySQL APT 存储库更新包信息:
$> sudo apt-get update
下一个时间使用apt-get install命令时,将安装所选系列的最新版本。
您可以使用相同的方法更改任何其他 MySQL 组件的版本,您想要从 MySQL APT 存储库安装。
使用 APT 安装 MySQL
使用以下命令安装 MySQL:
$> sudo apt-get install mysql-server
这将安装 MySQL 服务器的包,以及客户端和数据库公共文件的包。
在安装过程中,您将被询问为您的MySQL安装设置root用户的密码。
确保您记住了您设置的root密码。想要后续设置密码的用户可以在对话框中留空password
字段,然后单击Ok
;在这种情况下,服务器将使用第8.4.1.10节,“Socket Peer-Credential Pluggable Authentication”通过Unix socket文件连接认证root访问权限。您可以使用程序mysql_secure_installation
后续设置root密码。
MySQL服务器在安装完成后自动启动。您可以使用以下命令检查MySQL服务器的状态:
$> systemctl status mysql
如果操作系统启用了systemd,可以使用标准systemctl(或alternatively,service,参数顺序相反)命令,如stop、start、status和restart来管理MySQL服务器服务。MySQL服务默认启用,并在系统重启时启动。请参阅第2.5.9节,“使用systemd管理MySQL服务器”获取更多信息。
一些第三方本地存储库包,依赖于native MySQL包可能不兼容MySQL APT存储库包,不应该同时使用它们;这些包括akonadi-backend-mysql、handlersocket-mysql-5.5和zoneminder。
您可以使用APT从MySQL APT存储库安装MySQL组件的个体部分。假设您已经将MySQL APT存储库添加到系统的存储库列表中(请参阅添加MySQL APT存储库获取指令),首先使用以下命令从MySQL APT存储库获取最新的包信息:
$> sudo apt-get update
使用以下命令安装您选择的任何包,替换package-name
为要安装的包名称:
$> sudo apt-get install package-name
例如,要安装MySQL Workbench:
$> sudo apt-get install mysql-workbench-community
要安装共享客户端库:
$> sudo apt-get install libmysqlclient21
从源代码安装 MySQL 使用 MySQL APT 存储库
该特性仅在64位系统上支持。
您可以使用 MySQL APT 存储库下载 MySQL 的源代码并使用它来进行构建:
-
将 MySQL APT 存储库添加到您的系统的存储库列表中,并选择要安装的主要版本系列(请参阅添加 MySQL APT 存储库以获取详细信息)。
-
从 MySQL APT 存储库更新包信息,以以下命令(这步骤是必需的):
$> sudo apt-get update
-
安装 build 过程依赖的软件包:
$> sudo apt-get build-dep mysql-server
-
下载 MySQL 的主要组件的源代码,然后构建它们(在要存放下载文件和构建结果的文件夹中运行以下命令):
$> apt-get source -b mysql-server
deb
软件包用于安装 MySQL 的各种组件创建。 -
选择需要的
deb
软件包,并使用以下命令进行安装:$> sudo dpkg -i package-name.deb
注意,MySQL 软件包之间存在依赖关系。要基本安装 MySQL 服务器,您需要安装数据库公共文件软件包、客户端软件包、客户端元软件包、服务器软件包和服务器元软件包(以该顺序执行以下步骤):
-
预配置 MySQL 服务器软件包,以以下命令:
$> sudo dpkg-preconfigure mysql-community-server_version-and-platform-specific-part.deb
您将被要求为您的MySQL安装提供root用户的密码;请参阅使用 APT 安装 MySQL中的重要信息。您可能还将被问及其他安装问题。
-
使用单个命令安装所需的包:
$> sudo dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb
-
如果dpkg警告您存在未满足的依赖项,您可以使用apt-get来修复它们:
sudo apt-get -f install
以下是系统中文件安装的位置:
-
所有配置文件(如
my.cnf
)都在/etc/mysql
下 -
所有二进制文件、库、头文件等都在
/usr/bin
和/usr/sbin
下 -
数据目录在
/var/lib/mysql
下
-
请参阅启动和停止 MySQL 服务器中的信息。
使用 MySQL APT 存储库升级 MySQL
-
在对 MySQL 进行任何升级之前,请遵循第 3 章,Upgrade MySQL中的指令。其中讨论的其他指令中,特别重要的是在升级前备份数据库。
-
以下安装指南假设您已经使用 MySQL APT 仓库在系统上安装了 MySQL;如果不是,请按照使用 MySQL APT 仓库替换本地 MySQL 安装或使用直接 deb 包下载替换 MySQL 服务器安装中的指南进行操作。另外,请注意您不能使用 MySQL APT 仓库升级来自非本地软件仓库(例如 MariaDB 或 Percona)的 MySQL 分发版本。
使用 MySQL APT 仓库对您的 MySQL 安装进行 in-place 升级(即将旧版本替换为新版本,然后使用旧数据文件运行新版本)按照以下步骤操作:
-
确保您已经在系统的仓库列表中添加了 MySQL APT 仓库(见添加 MySQL Apt 仓库中的指南)。
-
确保您已经在 MySQL APT 仓库中获取了最新的包信息,运行:
$> sudo apt-get update
-
注意,默认情况下,MySQL APT 仓库将在您添加 MySQL APT 仓库到系统时更新 MySQL 到所选的发布系列。如果您想升级到另一个发布系列,请按照选择主要版本中的步骤操作。
总的来说,升级到一个新的发布系列时,通常建议跳过多个系列,而不是直接跳到最新的系列。例如,如果您当前正在运行MySQL 5.7,并想升级到更高版本,可以先升级到MySQL 8.0,然后再升级到8.4。
ImportantMySQL APT 存储库不支持在-place降级。请按照第4章,降级 MySQL中的说明进行操作。
-
$> sudo apt-get install mysql-server
如果有 newer 版本可用,则会升级 MySQL 服务器、客户端和公共文件。要升级其他 MySQL 包,请使用相同的apt-get install 命令,并提供您想升级的包名称:
$> sudo apt-get install package-name
要查看从 MySQL APT 存储库安装的包名称,请使用以下命令:
$> dpkg -l | grep mysql | grep ii
Note如果使用apt-get upgrade进行系统-wide 升级,只有 MySQL 库和开发包将升级到 newer 版本(如果可用)。要升级其他组件,包括服务器、客户端、测试套件等,请使用apt-get install 命令。
-
MySQL 服务器总是在 APT 更新后重新启动。
MySQL 的变体和分支由不同的方通过他们自己的软件存储库或下载站点分布。您可以在少数步骤中将 native 发布的 MySQL 替换为来自 MySQL APT 存储库的发布。
MySQL APT 存储库只能替换由 Debian 或 Ubuntu 维护和分发的 MySQL 发行版。它不能替换在发行版本地存储库中或外部发现的任何 MySQL 副本。要将这些 MySQL 副本替换为 MySQL APT 存储库,您需要先卸载它们,然后使用 MySQL APT 存储库安装 MySQL。从副本的提供商获取卸载说明,确保在继续之前备份您的数据并了解如何将其恢复到新服务器。
一些第三方原生存储库包可能依赖于原生 MySQL 包,不与 MySQL APT 存储库包一起使用;这些包括 akonadi-backend-mysql、handlersocket-mysql-5.5 和 zoneminder。
-
为了避免数据丢失,始终在尝试使用 MySQL APT 存储库替换 MySQL 安装时备份您的数据库。请参阅第9章, 备份和恢复获取说明。
-
按照添加 MySQL APT 存储库中的指令将 MySQL APT 存储库添加到您的系统存储库列表中,并选择要使用的发布系列。
-
MySQL APT 存储库的设计是,当您对 MySQL 包进行升级时,会替换您的本地 MySQL 发行版。要执行升级,请按照步骤 4在使用 MySQL APT 存储库升级 MySQL中获取的指令。
使用 MySQL APT 仓库替换 MySQL 的原生分布后,使用 apt-get purge、apt-get remove --purge 或 dpkg -P 命令清除原生仓库中的老 MySQL 包可能会对新安装的 MySQL 服务器产生各种影响。因此,不要清除原生仓库中的老 MySQL 包。
deb
包从 MySQL 用于安装 MySQL 服务器和其组件可以从 MySQL 开发者区的 MySQL 下载页面 或 MySQL APT 仓库下载。来自两个源的deb
包不同,安装和配置 MySQL 的方式也不同。
如果您使用 MySQL 开发者区的 deb
包安装了 MySQL,并且现在想使用 MySQL APT 仓库中的包替换安装,请按照以下步骤操作:
-
备份您的数据库。请参阅第9章, 备份和恢复了解详细信息。
-
按照之前的步骤操作添加 MySQL APT 仓库。
-
使用以下命令清除老安装:
$> sudo dpkg -P mysql
-
从 MySQL APT 仓库安装 MySQL:
$> sudo apt-get install mysql-server
-
如果需要,请在新的MySQL安装中恢复数据。请参阅第9章, 备份和恢复获取指南。
要卸载使用MySQL APT存储库安装的MySQL服务器和相关组件,首先,请使用以下命令卸载MySQL服务器:
$> sudo apt-get remove mysql-server
然后,请卸载与MySQL服务器自动安装的其他软件:
$> sudo apt-get autoremove
要卸载其他组件,请使用以下命令,替换package-name
为您想要卸载的包的名称:
$> sudo apt-get remove package-name
要查看MySQL APT存储库中安装的软件列表,请使用以下命令:
$> dpkg -l | grep mysql | grep ii
可以使用以下命令从MySQL APT存储库安装共享客户端库(请参阅使用APT安装其他MySQL产品和组件获取更多详细信息):
$> sudo apt-get install libmysqlclient21
如果您已经从Linux平台的软件存储库安装了共享客户端库,可以使用同一个命令将其更新到MySQL APT存储库中的包(请参阅使用APT更新本地分布获取更多详细信息)。
在使用APT存储库更新MySQL后,编译于旧版本共享客户端库的应用程序仍将继续工作。
如果您重新编译应用程序,并使用更新的库进行动态链接:与共享库的新版本一样,使用更新、更高版本的共享库编译的应用程序可能需要在部署这些应用程序的系统上安装这些更新的库。如果这些库没有安装,那些需要共享库的应用程序可能会失败。因此,建议将 MySQL 的包文件部署到这些系统上。您可以通过添加 MySQL APT 仓库到系统(见Adding the MySQL Apt Repository)并使用本节开头的命令安装最新的共享客户端库来实现。
使用 APT 仓库安装 MySQL NDB 集群
-
MySQL APT 仓库支持在 Debian 和 Ubuntu 系统上安装 MySQL NDB 集群。关于其他基于 Debian 的系统上的 NDB 集群安装方法,请见使用 .deb 文件安装 NDB 集群。
-
如果您已经在系统上安装了 MySQL 服务器或 MySQL NDB 集群,请确保它已停止,并备份您的数据和配置文件,然后继续进行。
-
按照添加 MySQL APT 仓库中的步骤将 MySQL APT 仓库添加到您的系统的仓库列表中。在配置包安装过程中,当您被问及要配置哪个 MySQL 产品时,选择“MySQL Server & Cluster”;当被问及要接收哪个版本时,选择“mysql-cluster-
x
.y
.”。返回命令提示符后,请继续执行步骤 2。如果您已经在系统上安装了配置包,确保它是最新的,可以运行以下命令:
$> sudo apt-get install mysql-apt-config
然后,使用选择主要版本中描述的相同方法来安装 MySQL NDB Cluster。當您被问及要配置哪个 MySQL 产品时,选择“MySQL Server & Cluster”;当被问及要接收哪个版本时,选择“mysql-cluster-
x
.y
.”。返回命令提示符后,请使用以下命令更新包信息从 MySQL APT 仓库:$> sudo apt-get update
-
安装 MySQL NDB Cluster
为 MySQL NDB Cluster 的最小安装,按照以下步骤进行:
-
$> sudo apt-get install mysql-cluster-community-server
您将被要求为您的 SQL 节点提供 root 用户的密码;请参阅在使用 APT 安装 MySQL上面的关于 root 密码的重要信息。您可能还将被问及其他安装问题。
-
安装管理节点的可执行文件:
$> sudo apt-get install mysql-cluster-community-management-server
-
安装数据节点的可执行文件:
$> sudo apt-get install mysql-cluster-community-data-node
-
-
请查看第 25.3.3 节,“NDB 集群的初始配置”了解如何配置 MySQL NDB 集群,并查看第 25.3.4 节,“NDB 集群的第一次启动”了解如何在第一次启动时启动它。在遵循这些说明时,请根据以下关于您的 NDB 集群安装 SQL 节点的详细信息进行调整:
-
所有配置文件(如
my.cnf
)都在/etc/mysql
下 -
所有可执行文件、库、头文件等都在
/usr/bin
和/usr/sbin
下 -
数据目录是
/var/lib/mysql
-
您可以使用APT安装MySQL NDB集群的单个组件和额外产品,从MySQL APT存储库中获取。要做到这点,假设您已经将MySQL APT存储库添加到了您的系统软件仓库列表(请参阅为MySQL NDB集群添加MySQL APT存储库),然后按照使用APT安装额外的MySQL产品和组件中的步骤进行操作。
已知问题:当前,安装测试套件包(mysql-cluster-community-test
)时,不会自动安装运行MySQL NDB集群测试套件所需的所有组件。使用apt-get install命令在运行测试套件之前安装以下包:
-
mysql-cluster-community-auto-installer
-
mysql-cluster-community-management-server
-
mysql-cluster-community-data-node
-
mysql-cluster-community-memcached
-
mysql-cluster-community-java
-
ndbclient-dev
以下是添加手动MySQL APT存储库到您的系统软件仓库列表和配置它的步骤,without使用MySQL提供的release包:
-
下载 MySQL GPG 公钥(请参阅第 2.1.4.2 节,“使用 GnuPG 检查签名”了解如何进行该操作),并将其保存到文件中,不添加任何空格或特殊字符。然后,使用以下命令将密钥添加到您的系统的 GPG 密钥ring 中:
$> sudo apt-key add path/to/signature-file
-
Alternatively, you can download the GPG key to your APT keyring directly using the apt-key utility:
$> sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A8D3785C
NoteMySQL 8.0.36 及更高版本的 KeyID 是
A8D3785C
,如上所示。对于早期 MySQL 发布版本,KeyID 是3A79BD29
。使用错误的密钥可能会导致密钥验证错误。 -
创建一个名为
/etc/apt/sources.list.d/mysql.list
的文件,并将以下格式的存储库条目放入其中(这不是执行命令):deb http://repo.mysql.com/apt/{debian|ubuntu}/ {bookworm|jammy} {mysql-tools|mysql-8.4-lts|mysql-8.0}
根据您的存储库设置选择合适的选项:
-
选择 “debian” 或 “ubuntu”,根据您的平台。
-
选择适合您的系统版本的名称;例如 “bookworm”(用于 Debian 12)和 “jammy”(用于 Ubuntu 22.04)。
-
要安装MySQL服务器、客户端和公共文件,请根据您想要的MySQL系列选择“mysql-8.4”、“mysql-8.0”或“mysql-innovation”。如果您想在将来切换到另一个版本系列,请返回并调整您的新选择。这还包括对MySQL Router和MySQL Shell等工具的访问。
Note如果您已经在系统上安装了MySQL版本,不要在这个步骤中选择较低版本,否则可能会导致不支持的降级操作。
-
包括“mysql-tools”以安装连接器。
例如,在Ubuntu 22.04平台上,您可以在您的
mysql.list
文件中使用以下行来安装MySQL 8.4和最新的MySQL Connectors从MySQL APT存储库:deb http://repo.mysql.com/apt/ubuntu/ jammy mysql-8.4 mysql-tools
-
-
使用以下命令从MySQL APT存储库获取最新的包信息:
$> sudo apt-get update
您已经配置了系统以使用MySQL APT存储库,现在准备继续使用使用APT安装MySQL或使用APT安装其他MySQL产品和组件。