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

Oracle提供了一组MySQL的二进制发行版。其中包括用于许多平台的压缩tar文件(扩展名为.tar.xz的文件)形式的通用二进制发行版,以及用于选定平台的特定平台包格式的二进制文件。

本节介绍在Unix/Linux平台上从压缩的tar文件二进制分布安装MySQL。有关Linux-通用二进制分布安装说明,重点关注MySQL安全功能,详情可见安全部署指南。有关其他特定于平台的二进制包格式,请参阅本手册中其他特定于平台的部分。

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

Linux通用二进制发行版还有一个"最小安装"版本的MySQL压缩tar文件,其名称形式为mysql-VERSION -OS -GLIBCVER -ARCH-minimal.tar.xz。最小安装版不包括调试二进制文件,并且去除了调试符号,使其明显小于常规二进制版。如果您选择安装最小安装版,请记住在以下说明中调整文件名格式的差异。

警告:

1、如果您之前使用操作系统本机包管理系统(如Yum或APT)安装MySQL,则使用本机二进制文件安装时可能会遇到问题。确保您之前的MySQL安装已完全删除(使用包管理系统),并且任何其他文件(如旧版本的数据文件)也已删除。您还应该检查/etc/my.cnf/etc/mysql目录等配置文件并将其删除。

2、MySQL依赖libaio库。如果未在本地安装此库,数据目录初始化和后续服务器启动步骤将失败。如有必要,请使用适当的包管理器进行安装。例如,在基于Yum的系统上:

sql 复制代码
$> yum search libaio  # search for info
$> yum install libaio # install library

或者,在基于APT的系统上:

sql 复制代码
$> apt-cache search libaio # search for info
$> apt-get install libaio1 # install library

3、OracleLinux8/Red Hat 8(EL8):这些平台默认不安装文件/lib64/libtinfo.so.5,这是MySQL客户端bin/mysql对包mysql-VERSION-el7-x86_64.tar.gzmysql-VERSION-linux-glibc2.12-x86_64.tar.xz所必需的。要解决此问题,请安装ncurses-compat-libs包:

sql 复制代码
$> yum install ncurses-compat-libs

4、如果Oracle(或您的Linux供应商)没有提供PRM或特定于您版本的.deb文件,您可以尝试使用通用二进制文件。在某些情况下,由于库不兼容或其他问题,这些可能不适用于您的Linux安装。在这种情况下,您可以尝试从源代码编译和安装MySQL。

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

目录 内容目录
bin mysqld服务器、客户端和实用程序
docs MySQL信息手册
man Unix手册页
include 包含(表头)文件
lib
share 错误消息、字典和SQL数据库安装
support-files 其他支持文件

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

要安装和使用MySQL二进制分布,命令序列如下所示:

sql 复制代码
$> 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/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。如果是这样,请在以下说明中替换适当的名称。useradd和groupadd的语法在不同版本的Unix/Linux上可能略有不同,或者它们可能有不同的名称,例如adduser和addgroup。

sql 复制代码
$> groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql

注意:因为用户仅用于所有权目的,而不是登录目的,所以useradd命令使用-r-s /bin/false选项来创建对您的服务器主机没有登录权限的用户。如果您的useradd不支持这些选项,请省略它们。

获取并解包通用版

选择要解压通用版的目录并将位置更改到其中。此处的示例解压缩/usr/local下的版本。需要您有权在/usr/local中创建文件和目录。如果该目录受到保护,您必须以root身份执行安装。

sql 复制代码
$> cd /usr/local

解压通用版,这将创建安装目录。如果tar支持z选项,则可以解压缩和解包该tar文件:

sql 复制代码
$> tar xvf /path/to/mysql-VERSION-OS.tar.xz

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

要从压缩的tar文件二进制版本安装MySQL,您的系统必须有GNUXZ Utils来解压版本和tar来解压缩它。

GNU tar是已知的工作。某些操作系统提供的标准tar无法解压MySQL版本中的长文件名。您应该下载并安装GNU tar,或者如果可用,使用GNU tar的预装版本。通常这是gnu tar、gtar或GNU或自由软件目录中的tar,如/usr/sfw/bin/usr/local/bin

如果您的tar不支持xz格式,则使用xz命令解压分布,tar命令解压。用以下替代命令替换前面的tar命令以解压缩和提取分布:

sql 复制代码
$> xz -dc /path/to/mysql-VERSION-OS.tar.xz | tar x

接下来,创建一个指向tar创建的安装目录的软链接:

sql 复制代码
$> ln -s full-path-to-mysql-VERSION-OS mysql

使用ln命令创建一个指向安装目录的软链接。这使您可以更容易地访问/usr/local/mysql。为了避免在使用MySQL时总是键入客户端程序的路径名,您可以将/usr/local/mysql/bin目录添加到PATH变量中:

sql 复制代码
$> export PATH=$PATH:/usr/local/mysql/bin
相关推荐
A charmer21 分钟前
告别编程困惑:GDB、冯诺依曼、操作系统速通指南
linux·运维·服务器
檀越剑指大厂30 分钟前
【Linux系列】x86 和 AMD 的区别
linux·运维·服务器
新停浊酒杯38 分钟前
解决ubuntu服务器SSH连接卡顿,连上后命令输入也是卡顿以及如何在Ubuntu上杀死不断重启的进程。
linux·服务器·ssh
激进的猴哥1 小时前
day26-lvm逻辑卷管理
linux·运维
刘某的Cloud1 小时前
cut-命令详解
linux·运维·系统
firepation2 小时前
基于SpringBoot学生就业管理系统
java·spring boot·mysql·源码·课程设计
北涯2 小时前
CentOS — 压缩解压
linux·centos
落霞与孤鹭齐飞。。2 小时前
记忆旅游系统|Java|SSM|VUE| 前后端分离
java·mysql·毕业设计·课程设计
追风赶月、2 小时前
【MySQL】表的基本查询
数据库·mysql
C语言扫地僧3 小时前
Linux 多线程(理论+实践)
linux·运维·服务器·学习