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-i686或winx64)。

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.gz和mysql-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
相关推荐
Flynt3 小时前
"MySQL搜不动就上ES"?我先在50万行数据上测了它自带的ngram全文索引
mysql·elasticsearch·搜索引擎
律宏阔3 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔3 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴3 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
imDwAaY4 小时前
Redo Log 和 Binlog 为什么需要两阶段提交?
后端·mysql
数据库小学妹4 小时前
MySQL深分页优化:LIMIT大偏移的根因分析与五种解法对比
数据库·mysql·性能优化
乱码三千4 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei374 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei374 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei374 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化