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