Documentation Home
MySQL 8.0 参考手册  / 第 2 章安装和升级 MySQL  / 2.5 在 Linux 上安装 MySQL  /  2.5.5 使用来自 Oracle 的 RPM 包在 Linux 上安装 MySQL

2.5.5 使用来自 Oracle 的 RPM 包在 Linux 上安装 MySQL

在基于 RPM 的 Linux 发行版上安装 MySQL 的推荐方法是使用 Oracle 提供的 RPM 包。对于 MySQL Community Edition,有两个获取它们的来源:

笔记

MySQL 的 RPM 发行版也由其他供应商提供。请注意,它们在特性、功能和约定(包括通信设置)方面可能与 Oracle 构建的不同,并且本手册中的安装说明不一定适用于它们。相反,应参考供应商的说明。

如果您的系统上运行着这样的第三方 MySQL 发行版,并且现在想使用从 MySQL 开发人员专区下载的 RPM 包迁移到 Oracle 的发行版,请参阅下面的与其他供应商的 RPM 包的兼容性。但是,首选的迁移方法是使用 MySQL Yum 存储库MySQL SLES 存储库

安装 MySQL 5.6 有两种 RPM 包:

  • 较老的一种:它们的包名以 MYSQL-. 它们可以从 MySQL 开发人员专区的MySQL 下载 页面获得。本节中给出的说明适用于使用这些包。

  • 较新的一种:它们的包名以 mysql-community-or 开头mysql-commercial-。它们可以从MySQL Yum 存储库MySQL SLES 存储库中获得。如果您不是将系统配置为直接从 MySQL 存储库安装这些 RPM(推荐),而是从存储库下载软件包,然后在单独的步骤中手动安装它们,请使用为 MySQL 5.7 RPM 提供的安装命令 使用来自 Oracle 的 RPM 包在 Linux 上安装 MySQL,但请参阅本节以获取安装布局、服务器初始化、root 密码等信息。

下表列出了 MySQL 的 RPM 包:

表 2.9 MySQL Community Edition 的 RPM 包

包裹名字 概括
MySQL-server 数据库服务器及相关工具
MySQL-client MySQL 客户端应用程序和工具
MySQL-devel MySQL 数据库客户端应用程序的开发头文件和库
MySQL-shared MySQL 数据库客户端应用程序的共享库
MySQL-shared-compat 以前 MySQL 安装的共享兼容性库
MySQL-embedded MySQL嵌入式库
MySQL-test MySQL 服务器的测试套件

一些包之间存在依赖关系。如果您计划安装许多包,您可能希望下载 RPM 包tar文件,它包含上面列出的所有 RPM 包,这样您就不需要单独下载它们。

RPM 的全名具有以下语法:

packagename-version-distribution-arch.rpm

和值指示 Linux 发行版distributionarch构建包所针对的处理器类型。有关分发标识符的列表,请参见下表:

表 2.10 MySQL Linux RPM 包分发标识符

distribution价值 有可能的使用
el6,el7 Red Hat Enterprise Linux/Oracle Linux/CentOS 5、6 或 7
sles11, sles12 SUSE Linux 企业服务器 11 或 12
linux_glibc2.5 分销独立;在任何基于 RPM 的 Linux 发行版上运行

要查看 RPM 包中的所有文件(例如, MySQL-server),请使用以下命令:

$> rpm -qpl MySQL-server-version-distribution-arch.rpm

在大多数情况下,您需要安装 MySQL-serverMySQL-client以获得功能性的标准 MySQL 安装。要执行这样一个标准的最小安装,请转到包含所有这些包的文件夹(最好不要有其他具有相似名称的 RPM 包),并发出以下命令(对于 SLES 系统 ,将yum替换为 zypper ):

$> yum install MySQL-{server,client}-*

虽然最好使用像yum这样的高级包管理工具来安装包,但更喜欢直接rpm命令的用户可以用rpm -Uvh命令替换 yum install命令;但是,使用rpm -Uvh 反而会使安装过程更容易失败,因为安装过程可能会遇到潜在的依赖性问题。

要只安装客户端程序,可以跳过安装 MySQL-server包;发出以下命令(对于 SLES 系统 ,将yum替换为 zypper ):

$> yum install MySQL-client-*

使用 RPM 包的 MySQL 标准安装会导致在系统目录下创建文件和资源,如下表所示。

表 2.11 MySQL Developer Zone 的 Linux RPM 包的 MySQL 安装布局

文件或资源 地点
客户端程序和脚本 /usr/bin
mysqld服务器 /usr/sbin
数据目录 /var/lib/mysql
错误日志文件

对于 RHEL、Oracle Linux 或 CentOS: /var/lib/mysql/host_name.err

对于 SLES:/var/log/mysql/mysqld.log

System V 初始化脚本

/etc/init.d/mysql

系统服务

mysql

文件

/var/lib/mysql/host_name.pid

Unix 手册页 /usr/share/man
包含(头)文件 /usr/include/mysql
图书馆 /usr/lib/mysql
插座 /var/lib/mysql/mysql.sock
杂项支持文件(例如,错误消息和字符集文件) /usr/share/mysql

安装还会在系统上创建一个名为的用户 mysql和一个名为的组 mysql

MySQL 不会在安装过程结束时自动启动。使用以下命令启动 MySQL:

$> service mysql start

在服务器初始启动时,如果服务器的数据目录为空,则服务器被初始化。 mysql_install_db使用选项调用 --random-passwords ,它为 MySQL 帐户分配一个随机密码, root并为这些帐户设置密码过期标志。安装后需要启动服务器, root使用初始随机密码连接,并分配一个新root密码。在此之前, root不能做任何其他事情。必须为root您打算使用的每个帐户完成此操作。要更改密码,您可以使用SET PASSWORD语句(例如,使用 mysql客户)。您还可以使用 mysqladminmysql_secure_installation。有关其他详细信息(包括在哪里可以找到分配的随机 root密码),请参阅 第 4.4.3 节,“mysql_install_db — 初始化 MySQL 数据目录”。(使用 Unbreakable Linux Network 的 RPM 的安装操作不受影响,因为它们不运行mysql_install_db。)

在使用 RPM 包进行升级安装期间,如果升级发生时 MySQL 服务器正在运行,则 MySQL 服务器将停止,升级将发生,然后 MySQL 服务器将重新启动。一个例外:如果版本在升级期间也发生了变化(例如社区到商业,反之亦然),则 MySQL 服务器不会重新启动。

如果在安装期间出现问题,您可能会在错误日志文件中找到调试信息 。 /var/lib/mysql/host_name.err

与其他供应商的 RPM 包的兼容性。  如果您已经从您的 Linux 发行版的本地软件存储库安装了 MySQL 包,那么最好使用您平台的包管理系统(yumzypper)从 Oracle 安装新的、直接下载的包,如上所述。该命令用新包替换旧包,以确保旧应用程序与新安装的兼容性;例如,旧 MySQL-shared包被替换为 MySQL-shared-compat包,它为使用旧 MySQL 安装的应用程序提供了一个替换兼容的客户端库。如果MySQL-shared-compat系统上有旧版本,它也会被替换。

如果您为 MySQL 安装了不是来自您的 Linux 发行版的本地软件存储库的第三方包(例如,直接从 Oracle 以外的供应商下载的包),您应该在安装新的、直接下载的包之前卸载所有这些包来自甲骨文。这是因为这些供应商的 RPM 包和 Oracle 之间可能会发生冲突:例如,供应商关于哪些文件属于服务器以及哪些文件属于客户端库的约定可能与用于 Oracle 包的约定不同。尝试安装 Oracle RPM 可能会导致消息指出要安装的 RPM 中的文件与已安装包中的文件冲突。

调试包。 使用调试包 编译的 MySQL 服务器的特殊变体 已包含在服务器 RPM 包中。它执行调试和内存分配检查,并在服务器运行时生成跟踪文件。要使用该调试版本,请使用 启动 MySQL /usr/sbin/mysqld-debug,而不是将其作为服务启动或使用/usr/sbin/mysqld. 有关您可以使用的调试选项 ,请参见第 5.8.3 节 “DBUG 包” 。

笔记

在 5.6.39 中 ,调试构建的默认插件目录从 更改为 /usr/lib64/mysql/plugin/usr/lib64/mysql/plugin/debug以前,必须更改 plugin_dir为以 /usr/lib64/mysql/plugin/debug进行调试构建。

从源 SRPM 重建 RPM。  MySQL 的源代码 SRPM 包可供下载。它们可以按原样使用,通过标准的rpmbuild工具链重建 MySQL RPM。

重要的

NDB Cluster 的 RPM。  MySQL 构建的标准 MySQL 服务器 RPM 不提供对NDBCLUSTER 存储引擎的支持。有关从 RPM 安装 NDB Cluster 的更多信息,请参阅 第 18.3 节,“NDB Cluster 安装”