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

 更新时间:2025年02月27日 11:10:42   作者:费曼乐园  
本文介绍了如何在Unix/Linux平台上从压缩的tar文件二进制发行版安装MySQL,首先,需要下载并解压缩发行版,然后创建一个符号链接并将其添加到PATH变量中,接下来,设置发行版的所有权和访问权限,初始化数据目录,启动MySQL服务器,并设置配置文件

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安装布局:

DirectoryContents of Directory
binmysqld服务器、客户端和实用程序程序。
docsMySQL手册的Info格式。
manUnix手册页。
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服务器,并设置配置文件。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解在linux中如何确定指定端口是否开启

    详解在linux中如何确定指定端口是否开启

    这篇文章主要为大家详细介绍了在linux中如何确定指定端口是否开启,文中主要为大家介绍了四种常见方法,感兴趣的小伙伴可以参考一下
    2024-10-10
  • linux下的dhcp服务的完全配置(图文详解)

    linux下的dhcp服务的完全配置(图文详解)

    linux下的dhcp服务的完全配置详解,需要的朋友可以参考下
    2012-10-10
  • Linux实现驱动模块传参过程解析

    Linux实现驱动模块传参过程解析

    这篇文章主要介绍了Linux实现驱动模块传参过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Apache 新站点目录配置 SELinux 的方法

    Apache 新站点目录配置 SELinux 的方法

    本文详细介绍了如何使用SELinux保护Apache新站点目录,包括确定默认上下文、创建和设置新目录的上下文、允许网络连接以及验证配置,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • Linux文件编辑命令vi详细整理(总结)

    Linux文件编辑命令vi详细整理(总结)

    本篇文章主要介绍了Linux文件编辑命令详细整理(总结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Linux下如何启动Oracle命令

    Linux下如何启动Oracle命令

    这篇文章主要介绍了Linux下如何启动Oracle命令问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 在Ubunt16.04上安装LAMP的方法

    在Ubunt16.04上安装LAMP的方法

    这篇文章主要介绍了在Ubunt16.04上安装LAMP的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Linux中大内存页Oracle数据库优化的方法

    Linux中大内存页Oracle数据库优化的方法

    这篇文章主要给大家介绍了关于Linux中大内存页Oracle数据库优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • 浅谈在linux kernel中打印函数调用的堆栈的方法

    浅谈在linux kernel中打印函数调用的堆栈的方法

    下面小编就为大家带来一篇浅谈在linux kernel中打印函数调用的堆栈的方法。小编觉得挺不错的。现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 教你使用Apache搭建Http下载服务器

    教你使用Apache搭建Http下载服务器

    这篇文章主要介绍了使用Apache搭建Http下载服务器的详细过程,Apache2默认采用的是80端口号,因此直接通过公网ip或域名就能访问,需要的朋友可以参考下
    2022-10-10

最新评论