2.2 使用通用二进制文件在 Unix/Linux 上安装 MySQL
Oracle 提供了一组 MySQL 二进制发行版。这些文件包括用于多个平台的压缩二进制文件(extensions 为 tar_)的通用二进制发行版,以及用于特定平台的特定于平台的软件包格式的二进制文件。
本节介绍了如何从 Unix/Linux 平台上的 tar 文件压缩二进制分发版中安装 MySQL。有关其他特定于平台的二进制软件包格式,请参见本手册中的其他特定于平台的部分。例如,对于 Windows 发行版,请参阅第 2.3 节“在 Microsoft Windows 上安装 MySQL”。有关如何获取不同分发格式的 MySQL 的信息,请参见第 2.1.2 节“如何获取 MySQL”。
MySQL 压缩的 tar 文件二进制发行版本的名称格式为mysql-VERSION-OS.tar.gz
,其中VERSION
是数字(例如5.7.32
),* OS
*指示发行版本所针对的 os 类型(例如pc-linux-i686
或winx64
)。
Warnings
- 如果以前使用 os 本机软件包 Management 系统(例如 Yum 或 APT)安装了 MySQL,则在使用本机二进制文件安装时可能会遇到问题。确保以前的 MySQL 安装已完全删除(使用程序包 Management 系统),并且所有其他文件(例如数据文件的旧版本)也已删除。您还应该检查配置文件(例如
/etc/my.cnf
或/etc/mysql
目录)并将其删除。
有关使用官方 MySQL 软件包替换第三方软件包的信息,请参阅相关的APT guide或Yum guide。
- MySQL 依赖于
libaio
库。如果未在本地安装此库,则数据目录初始化和随后的服务器启动步骤将失败。如有必要,请使用适当的程序包 Management 器进行安装。例如,在基于百胜的系统上:
shell> yum search libaio # search for info
shell> yum install libaio # install library
或者,在基于 APT 的系统上:
shell> apt-cache search libaio # search for info
shell> apt-get install libaio1 # install library
-
*对于 MySQL 5.7.19 及更高版本:*对非统一内存访问(NUMA)的支持已添加到通用 Linux 版本中,该版本现在依赖于
libnuma
库;如果您的系统上尚未安装该库,请使用系统的程序包 Management 器搜索并安装它(有关某些示例命令,请参见前面的项目)。 -
SLES 11 :从 MySQL 5.7.19 开始,Linux Generic tarball 软件包格式为 EL6 而不是 EL5.作为副作用,MySQLClient 端 bin/mysql 需要
libtinfo.so.5
。
解决方法是在 64 位系统上创建符号链接,例如 ln -s libncurses.so.5.6 /lib64/libtinfo.so.5 或 ln -s libncurses.so.5.6/lib/libtinfo 在 32 位系统上为.so.5 。
要安装压缩的 tar 文件二进制发行版,请在您选择的安装位置(通常为/usr/local/mysql
)解压缩。这将创建下 table 中显示的目录。
table2.3 通用 Unix/Linux 二进制软件包的 MySQL 安装布局
Directory | 目录内容 |
---|---|
bin | mysqld服务器,Client 端和 Util |
docs | 信息格式的 MySQL 手册 |
man | Unix 手册页 |
include | 包含(头)文件 |
lib | Libraries |
share | 错误消息,字典和用于数据库安装的 SQL |
support-files | 杂项支持文件 |
mysqld二进制文件的调试版本以mysqld-debug的形式提供。要从源代码分发中编译自己的 MySQL 调试版本,请使用适当的配置选项来启用调试支持。参见第 2.9 节“从源代码安装 MySQL”。
要安装和使用 MySQL 二进制发行版,命令序列如下所示:
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
Note
此过程假定您具有对系统的root
(Management 员)访问权限。另外,您可以使用 sudo (Linux)或 pfexec (Solaris)命令为每个命令添加前缀。
mysql-files
目录提供了一个方便的位置,用作secure_file_priv
系统变量的值,该值将导入和导出操作限制到特定目录。参见第 5.1.7 节“服务器系统变量”。
以下是用于安装二进制分发版的上述说明的详细版本。
创建一个 mysql 用户和组
如果您的系统尚无要用于运行mysqld的用户和组,则可能需要创建它们。以下命令添加mysql
组和mysql
用户。您可能想给用户打电话并分组其他而不是mysql
。如果是这样,请在以下说明中替换适当的名称。在不同版本的 Unix/Linux 上, useradd 和 groupadd 的语法可能略有不同,或者它们的名称也可能不同,例如 adduser 和 addgroup 。
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
Note
因为仅出于所有权目的而不是登录目的才需要该用户,所以 useradd 命令使用-r
和-s /bin/false
选项来创建对服务器主机没有登录权限的用户。如果您的 useradd 不支持这些选项,请忽略这些选项。
获取并解压缩发行版
选择要在其中解压缩发行版并将目录更改到其中的目录。此处的示例解压缩/usr/local
下的发行版。因此,这些说明假定您有权在/usr/local
中创建文件和目录。如果该目录受保护,则必须以root
的身份执行安装。
shell> cd /usr/local
按照第 2.1.2 节“如何获取 MySQL”中的说明获取分发文件。对于给定的发行版,所有平台的二进制发行版都是从相同的 MySQL 源发行版构建的。
解压缩发行版,创建安装目录。如果 tar 具有z
选项支持,则可以解压缩和解压缩发行版:
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
tar 命令创建一个名为mysql-VERSION-OS
的目录。
要从压缩的 tar 文件二进制发行版安装 MySQL,您的系统必须具有 GNU gunzip
来解压缩发行版,并且必须具有合理的 tar 来解压缩它。如果您的 tar 程序支持z
选项,则它可以解压缩和解 zipfile。
GNU tar 可以工作。某些 os 随附的标准 tar 无法解压缩 MySQL 发行版中的长文件名。您应该下载并安装 GNU tar ,或者使用 GNU tar 的预装版本(如果可用)。通常,可以在 GNU 或自由软件目录(例如/usr/sfw/bin
或/usr/local/bin
)中以 gnutar , gtar 或 tar 的形式使用。 GNU tar 可从http://www.gnu.org/software/tar/获得。
如果您的 tar 不支持z
选项,请使用 gunzip 来解压缩发行版,并使用 tar 来解压缩。用以下替代命令替换前面的 tar 命令以解压缩并提取分发:
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
接下来,创建一个符号链接到 tar 创建的安装目录:
shell> ln -s full-path-to-mysql-VERSION-OS mysql
ln
命令构建到安装目录的符号链接。这使您可以更轻松地将其称为/usr/local/mysql
。为了避免在使用 MySQL 时总是必须键入 Client 端程序的路径名,可以将/usr/local/mysql/bin
目录添加到PATH
变量中:
shell> export PATH=$PATH:/usr/local/mysql/bin
执行安装后设置
安装过程的其余部分涉及设置分发所有权和访问权限,初始化数据目录,启动 MySQL 服务器以及设置配置文件。有关说明,请参见第 2.10 节“安装后的设置和测试”。