一、项目配置
本篇教程在示例步骤中使用了以下版本的软件。操作时,请您以实际软件版本为准。
- 操作系统:CentOS 7.6 64位
- MySQL:5.7.18
二、基本流程
操作步骤如下:
1.准备编译环境。
2.安装MySQL。
步骤一:准备编译环境。
1. 运行命令cat /etc/redhat-release查看系统版本。

image.png
2. 关闭防火墙。
i. 运行systemctl status firewalld命令查看当前防火墙的状态。

image.png
- 如果防火墙的状态参数是inactive,则防火墙为关闭状态。
- 如果防火墙的状态参数是active,则防火墙为开启状态。本示例中防火墙为开启状态,因此需要关闭防火墙。
ii. 关闭防火墙。如果防火墙为关闭状态,请忽略此步骤。
- 如果您想临时关闭防火墙,运行命令systemctl stop firewalld。
说明 这只是暂时关闭防火墙,下次重启Linux后,防火墙还会开启。
- 如果您想永久关闭防火墙,运行命令systemctl disable firewalld。
说明 如果您想重新开启防火墙,请参见firewalld官网信息。
3. 关闭SELinux。
i. 运行getenforce命令查看SELinux的当前状态。

image.png
- 如果SELinux状态参数是Disabled, 则SELinux为关闭状态。
- 如果SELinux状态参数是Enforcing,则SELinux为开启状态。本示例中SELinux为开启状态,因此需要关闭SELinux。
ii. 关闭SELinux。如果SELinux为关闭状态,请忽略此步骤。
- 如果您想临时关闭SELinux,运行命令setenforce 0。
说明 这只是暂时关闭SELinux,下次重启Linux后,SELinux还会开启。
- 如果您想永久关闭SELinux,运行命令vi /etc/selinux/config编辑SELinux配置文件。回车后,把光标移动到 SELINUX=enforcing 这一行,按i键,将其修改为SELINUX=disabled, 按Esc键,然后输入:wq并回车以保存并关闭SELinux配置文件。
说明 如果您想重新开启SELinux,请参见SELinux的官方文档。
重启系统使设置生效。
步骤二:安装mysql
1.安装依赖
yum install -y libaio-devel
2.下载mysql二进制安装包
官网下载地址 https://downloads.mysql.com/archives/community/
mkdir -p /data/mysql
cd /data/mysql
#下载二进制文件
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
#解压二进制文件
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
3.建立mysql用户和组(如果已有可忽略)
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
4.创建相关目录并修改权限
#二进制安装包路径
mkdir -p /data/mysql/mysql_base
#数据路径
mkdir /data/mysql/mysql_data
#日志路径
mkdir -p /data/mysql/mysql_logs
#二进制路径
mkdir -p /data/mysql/mysql_binlogs
mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql/mysql_base
chown -R mysql.mysql /data/mysql
5.修改环境变量:
#添加环境变量
vim /etc/profile
export PATH=/data/mysql/mysql_base/bin:$PATH
#使环境配置生效
source /etc/profile
6.初始化数据,初始化管理员的临时密码
/data/mysql/mysql_base/bin/mysqld --defaults-file=/data/mysql/my.cnf --initialize --user=mysql --basedir=/data/mysql/mysql_base --datadir=/data/mysql/mysql_data
7.查看临时密码
grep -r "password" /data/mysql/mysql_logs/error.log
vim /etc/systemd/system/mysqld.service
或者 vim /usr/lib/systemd/system/mysqld.service [一般存放路径]
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/mysql/mysql_base/bin/mysqld --defaults-file=/data/mysql/my.cnf
LimitNOFILE = 5000
注意:将原来模式启动mysqld先关闭,然后再用systemd管理。
systemctl start/stop/restart/status mysqld