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

Oracle提供了一组MySQL的二进制发行版。这些包括压缩的tar文件形式的通用二进制发行版(具有.tar.xz扩展名的文件)针对多个平台,以及特定平台软件包格式的二进制文件。

本节涵盖了在Unix/Linux平台上从压缩的tar文件二进制发行版安装MySQL的方法。有关针对MySQL安全功能的重点进行Linux通用二进制分发版本安装说明,请参阅安全部署指南。

MySQL压缩的tar文件二进制发行版的名称格式为mysql-VERSION-OS.tar.xz,其中VERSION是一个数字(例如8.0.33),而OS表示该发行版所针对的操作系统类型(例如pc-linux-i686或winx64)。

对于Linux通用二进制发行版,还有一个“最小安装”版本的MySQL压缩tar文件,其名称形式为mysql-VERSION-OS-GLIBCVER-ARCHminimal.tar.xz。最小安装分发版本不包含调试二进制文件,并且已剥离调试符号,使其比常规二进制分发版小得多。如果选择安装最小安装分发版,请记得在后续指令中调整文件名格式的差异。

警告

  • 如果您先前使用操作系统的本机软件包管理系统(如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
  • Oracle Linux 8 / Red Hat 8 (EL8):这些平台默认不安装MySQL客户端bin/mysql所需的文件/lib64/libtinfo.so.5,对于mysql-VERSION-el7-x86_64.tar.gz和mysql-VERSION-linux-glibc2.12-x86_64.tar.xz软件包。为解决这个问题,请安装ncurses-compat-libs软件包:
    $> yum install ncurses-compat-libs

 要安装压缩的tar文件二进制发行版,请解压缩到您选择的安装位置(通常为/usr/local/mysql)。这将创建下表所示的目录。

表2.3通用Unix/Linux二进制软件包的MySQL安装布局

Directory Contents of Directory
bin mysqld服务器、客户端和实用程序程序。
 
docs MySQL手册的Info格式。
man Unix手册页。
include 包含(头)文件。
lib 库文件。
share 数据库安装的错误消息、字典和SQL。
support-files 支持文件。

 调试版本的mysqld二进制文件可用作mysqld-debug。要从源码发行版编译自己的MySQL调试版本,请使用适当的配置选项启用调试支持。

安装和使用MySQL二进制发行版的命令序列如下所示:

 $> groupadd mysql
 $> useradd -r -g mysql -s /bin/false mysql
 $> cd /usr/local
 $> tar xvf /path/to/mysql-VERSION-OS.tar.xz
 $> 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系统变量的值,用于限制导入和导出操作仅在该特定目录中进行,从而提供了方便的位置。

创建一个mysql用户和组

如果您的系统尚未拥有用于运行mysqld的用户和组,您可能需要创建它们。以下命令会添加mysql组和mysql用户。您可能希望将用户和组的名称改为与mysql不同的其他名称。如果是这样,请在以下说明中用适当的名字进行替换。在不同版本的Unix/Linux上,useradd和groupadd的语法可能略有不同,或者可能有不同的名称,如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

 根据“如何获取MySQL”部分中的说明获得一个发行版文件。对于特定版本,所有平台的二进制发行版都是从相同的MySQL源码发行版构建的。解压缩发行版将创建安装目录。如果tar支持z选项,则可以使用tar来解压缩和解包发行版:

$> tar xvf /path/to/mysql-VERSION-OS.tar.xz

tar命令会创建一个名为mysql-VERSION-OS的目录。

要从压缩的tar文件二进制发行版安装MySQL,您的系统必须具有GNU XZ Utils以解压缩发行版,并且需要一个合理的tar来解包。

注意 自MySQL Server 8.0.12起,压缩算法从Gzip更改为XZ,并且通用二进制文件的文件扩展名从.tar.gz更改为.tar.xz。

已知GNU tar可以正常工作。某些操作系统提供的标准tar无法解压MySQL发行版中的长文件名。您应该下载并安装GNU tar,或者如果可用,使用预先安装的GNU tar版本。通常可以将其命名为gnutar、gtar或者在GNU或自由软件目录(例如/usr/sfw/bin或/usr/local/bin)中找到。可以从http://www.gnu.org/software/tar/获取GNU tar。

如果您的tar不支持xz格式,则使用xz命令来解压缩发行版,并使用tar来解包。将上述的tar命令替换为以下备用命令以解压缩和提取发行版:

$> xz -dc /path/to/mysql-VERSION-OS.tar.xz | tar x

接下来,创建一个符号链接指向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服务器,并设置配置文件。 

你可能感兴趣的:(MySQL,mysql)