MySQL 5.7 参考手册(中文版)翻译自官方文档 MySQL 5.7 Reference Manual

使用通用二进制文件在 Unix/Linux 上安装 MySQL

二进制文件 binary package 介绍

Oracle 提供了一系列的 MySQL 二进制包,其中包括使用tar 文件形式的通用二进制包(扩展名为.tar.gz的文件),以及针对特定平台的二进制包。

本节介绍在 Unix/Linux 平台上,使用压缩得 tar 二进制包来安装 MySQL。关于侧重于 MySQL 安全特性的 Linux 通用二进制包的安装说明,请参阅《安全部署指南》。有关其他特定平台的二进制包格式,请参阅本手册中关于其他特定平台的章节。例如,对于Windows发行版,请参阅 在 Microsoft Windows 上安装 MySQL 。关于如何获取不同发行格式的MySQL,请参见 如何获取 MySQL

MySQL 的压缩的 tar 二进制包的名称格式为 mysql-VERSION-OS.tar.gz ,其中 version 是一个代表版本的数字(例如,5.7.36), OS 表明了发行包指定的操作系统的类型(例如,pc-linux-i686winx64)。

移除已安装 MySQL

如果你先前已经使用了操作系统自带的安装包管理工具(例如 Yum 或 APT)安装了 MySQL,那么再使用二进制文件安装时可能会遇到问题。需确保原先安装的 MySQL 被完全移除,包括所有的文件(例如旧版本的数据文件)都被删除。另外,配置文件(例如 /etc/my.cnf/etc/mysql )也需要被删除。
关于如何使用 MySQL 官方安装包,替换第三方安装包,可以参考 APT guideYum guide

安装 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 以及更高版本:
通用 LInux 构建已经支持了非统一内存访问(NUMA),这个功能依赖 libnuma 库。如果操作系统没有安装这个库,那么就需要使用系统包管理器搜索安装(相关示例命令,参照上一章)。
自 MySQL 5.7.19 版本往后,Linux 通用的 tar 包格式从 EL5 变为了 EL6。相应的,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

安装 MySQL

选择一个本地的安装位置(一般是 /usr/local/mysql),打开要安装的 tar 二进制压缩文件。
MySQL 安装后的文件目录和介绍如下所示:

  • bin
    可执行文件,mysqld 服务、客户端和公共程序
  • docs
    MySQL 手册
  • man
    Unix 手册
  • include
    包含头文件
  • lib
    库文件
  • share
    错误信息、字典和SQL
  • support-files
    其他支持文件

mysqld-debugmysqld 的 debug 版本。用源码包编译自己的 debug 版本,设置适当的配置项来启用 debug 支持。详细可查看 Installing MySQL from Source

安装 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

Note
安装命令使用的是系统的 root 权限。也可以在每个命令前缀 sudo (Linux) 或 pfexec (Solaris) 命令。

目录 mysql-files 提供了一个方便的位置,可以作为 secure_file_priv 系统变量的值。用来将导入和到处操作限制到特定目录。可查阅 Server System Variables

下面是前面安装二进制包的更详细描述。

创建 MySQL 用户和组

执行下面的命令,来创建一个用户和组,专门用来运行 mysqld。如果用户和组的名字不想叫 mysql ,可以在命令中替换成其他的名称。useraddgroupadd 的语法在不同版本的 Unix/Linux 中略有不同,可能是 adduseraddgroup

$> groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql

Note
由于用户仅用于所有权目的,而非登录目的,useradd 命令 使用 -r-s /bin/false 选项创建一个没有登录服务器主机权限的用户。如果 你的 useradd 命令不支持,则可以省略这个选项。

下载并解压缩安装包

选定一个目录用来解压缩安装包,示例中使用的目录是 /usr/local

$> cd /usr/local
  • 如果你没有 /usr/local 目录的创建目录和文件的权限,需要使用 root 权限安装。
  • 获取安装包文件,可以参阅 How to Get MySQL。固定的版本下,所有平台的二进制安装包都是从相同的 MySQL 源码文件构建出来的。

将获取到的安装包放入当前目录,然后解压缩:

$> tar zxvf /path/to/mysql-VERSION-OS.tar.gz

使用二进制文件安装 MySQL,需要先使用 gunzip 解压缩,然后使用 tar 打开。
如果你的 tar 程序支持 z 命令,那么就可以使用它完成全部动作。
某些操作系统提供的标准tar工具无法打开 MySQL 安装包的长文件名,那么你需要使用 GNU tar工具(如果系统没有预装了此工具,可以自行下载安装)。通常它以 gnutar、gtar 或 GNU 或自由软件目录(例如/usr/ swf /bin或/usr/local/bin)中的tar格式提供。GNU tar 可以从 http://www.gnu.org/software/tar/ 获取。

执行命令后会得到一个 mysql-VERSION-OS 目录。
如果你的 tar 没有 z 选项支持,就使用 gunzip 解压然后使用 tar 打开。将前面的 tar 命令替换为下面的替代命令:

 gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -

接下来,创建一个指向安装目录的软链接(symbolic link) :

$> ln -s full-path-to-mysql-VERSION-OS mysql

添加 /usr/local/mysql/bin 路径到 PATH 变量中,避免在使用 MySQL 时,必须输入客户端的路径名。

$> export PATH=$PATH:/usr/local/mysql/bin
Perform Postinstallation Setup

安装过程的其余部分,包括设置安装包的所有权和访问权限、初始化数据目录、启动 MySQL 服务和设置配置文件。请查阅 Postinstallation Setup and Testing

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐