本节介绍安装先决条件、创建
mysql
用户和组以及解压分发包。
-
安装必须作为操作系统
root
用户执行,因为安装过程涉及创建用户、组、目录以及分配所有权和权限。安装的 MySQL 二进制文件归操作系统root
用户所有。笔记除非另有说明,否则本指南中的过程是以操作系统
root
用户身份执行的。 -
MySQL 依赖于该
libaio
库。如果未在本地安装此库,则数据目录初始化和后续服务器启动步骤将失败。如有必要,请使用适当的包管理器安装它。例如,在基于 Yum 的系统上:Press CTRL+C to copy$> yum search libaio # search for info $> yum install libaio # install library
mysql
用户拥有 MySQL 数据目录
。它还用于运行mysqld
服务器进程,如 systemd
mysqld.service
文件中所定义(请参阅
使用 systemd 启动服务器)。用户对 MySQL 数据目录中的任何内容
mysql
具有读写权限。它没有登录 MySQL 的能力。它仅出于所有权目的而存在。
该mysql
组是数据库管理员组。该组中的用户对 MySQL 数据目录中的任何内容具有读写权限,并对任何打包的 MySQL 二进制文件具有执行权限。
此命令添加mysql
组。
Press CTRL+C to copy$> groupadd -g 27 -o -r mysql
groupadd-g 27
和-o
选项分配一个非唯一的组 ID (GID)。该
-r
选项使该组成为系统组。
此命令添加mysql
用户:
Press CTRL+C to copy$> useradd -M -N -g mysql -o -r -d datadir -s /bin/false -c "MySQL Server" -u 27 mysql
该
-M
选项可防止创建用户主目录。该
-N
选项指示应将用户添加到该-g
选项指定的组中。和选项分配一个非唯一的用户 ID (UID)
-o
。-u 27
-r
和-s /bin/false
选项创建一个没有服务器主机登录权限的用户 。仅出于所有权目的而mysql
不是登录目的需要用户。该
-d
选项指定用户登录目录,该目录设置为预期的 MySQL 数据目录路径。此部署中的预期数据目录路径是/usr/local/mysql/data
.该
-c
选项指定描述帐户的注释。
从经过验证的MySQL Linux Generic Binary下载包中提取二进制文件:
-
将位置更改为要在其下解压缩 MySQL 发行版的目录。在此部署中,分发由
root
under 解包/usr/local
。Press CTRL+C to copy$> cd /usr/local
-
解压 MySQL 发行版,这会创建安装目录。任何现代的tar 程序都可以使用以下命令解压缩和解压缩分发版:
Press CTRL+C to copy$> tar xvf /path/to/mysql-advanced-5.7.xx-linux-glibc2.12-x86_64.tar.gz
tar命令创建 一个名为 . 在本例中,目录名为 ,其中是最新版本。
mysql-
VERSION
-OS
mysql-advanced-5.7.
xx
-linux-glibc2.12-x86_64xx
-
创建到由tar创建的安装目录的相对符号链接:
Press CTRL+C to copy$> cd /usr/local $> ln -s mysql-advanced-5.7.xx-linux-glibc2.12-x86_64 mysql
该
ln
命令创建一个指向安装目录的符号链接。这使您可以更轻松地将其称为/usr/local/mysql
.
为避免在使用 MySQL 时键入客户端程序的路径名,请将/usr/local/mysql/bin
目录添加到您的PATH
变量中:
Press CTRL+C to copy$> export PATH=/usr/local/mysql/bin:$PATH
解压缩发行版会创建下表中显示的目录。这些目录位于 MySQL 安装目录中,即
/usr/local/mysql
:
表 4.1 MySQL Linux 通用二进制分发目录
目录 | 目录内容 |
---|---|
bin |
mysqld服务器;客户端和实用程序 |
docs |
Info 格式的 MySQL 手册 |
man |
Unix 手册页 |
include |
包含(头)文件 |
lib |
图书馆 |
share |
杂项文件,包括错误消息、示例配置文件、用于数据库安装的 SQL |
support-files |
与管理多个服务器进程、自动启动配置和日志轮换相关的其他支持文件。 |
MySQL 安装目录中还包含
README.txt
和
LICENSE.mysql
文件。没有数据目录。它是稍后在初始化数据目录时创建的。