# MySQL 单机环境搭建
## 一、下载并解压
这里我采用的是二进制安装包的方式进行安装,安装包的下载地址为:https://dev.mysql.com/downloads/mysql/ ,按需选择对应的版本后进行下载:
下载后进行解压,并对解压后的文件夹进行重命名,以便在后面的配置中进行引用:
```shell
tar -zxvf mysql-8.0.17-el7-x86_64.tar.gz -C /usr/app
mv mysql-8.0.17-el7-x86_64/ mysql-8.0.17
```
## 二、配置环境变量
配置 MySQL 环境变量:
```shell
vim /etc/profile
```
```shell
export MYSQL_HOME=/usr/app/mysql-8.0.17
export PATH=$MYSQL_HOME/bin:$PATH
```
使得配置的环境变量立即生效:
```shell
source /etc/profile
```
## 三、创建用户组和用户
为了安全起见,建议使用专门的用户组来管理 MySQL 服务。创建命令如下:
```shell
# 创建用户组
groupadd mysql
# 创建用户
useradd -g mysql mysql
# 设置密码
passwd mysql
# 将安装目录的所有者改为mysql用户
chown -R mysql:mysql /usr/app/mysql-8.0.17
```
## 四、数据库配置
MySQL 会默认读取 `/etc/my.cnf` 路径上的配置文件,该文件需要手动创建,内容如下。下面是一个最小化的配置,主要是定义了 MySQL 的安装目录和数据存放目录:
```shell
[mysqld]
# 每个Mysql实例的唯一编号
server-id = 1
# 服务端口号 默认3306
port = 3306
# 安装目录
basedir = /usr/app/mysql-8.0.17
# 数据存放目录
datadir = /usr/app/mysql-8.0.17/data
# 临时目录
tmpdir = /tmp
# 设置socket文件所在目录
socket = /tmp/mysql.sock
# 服务端字符集
character-set-server = utf8mb4
```
## 五、初始化 MySQL
执行以下命令进行初始化:
```shell
/usr/app/mysql-8.0.17/bin/mysqld --initialize --user=mysql \
--basedir=/usr/app/mysql-8.0.17 --datadir=/usr/app/mysql-8.0.17/data
```
注意观察控制台输出,控制台上会显示 root 用户的临时登录密码,拷贝好该密码,以便后面使用:
```shell
[Note][MY-010454][Server] A temporary password is generated for root@localhost: NTWbsvTJj9