一.初始检查
1.确保服务器系统处于最新状态
[root@localhost ~]# yum -y update
.重启服务器
[root@localhost ~]# reboot
2.首先检查是否已经安装,如果已经安装先删除以前版本,以免安装不成功
[root@localhost ~]# php -v
或
[root@localhost ~]# rpm -qa | gerp mysql
或
[root@localhost ~]# yum list installed | grep mysql
如果显示以下内容说明没有安装服务
-bash: gerp: command not found
二 下载mysql的tar包安装
1.下载mysql的tar包
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
MySQL Community Server 5.7.33
Looking for the latest GA version?
Select Version:5.7.33
Select Operating System: Red Hat Linux/Oracle Linux
Select OS Version: Linux7
Download Packages:
TAR 5.7.33 727.6M Download
(mysql-5.7.33-el7-x86_64.tar)
2.解压
tar xvf mysql-5.7.33-el7-x86_64.tar
tar -zxvf mysql-5.7.33-el7-x86_64.tar.gz
3.新建相关文件夹
mkdir /opt/mysql/data
mkdir /opt/mysql/mysqld
mkdir /opt/mysql/log
touch /opt/mysql/log/mysqld.log
4.创建 linux的mysql 用户组mysqluser和组下用户mysqltest
groupadd mysqluser
useradd -r -g mysqluser mysqltest
(斜体可略过)
# 创建mysql用户组 注:groupadd -g 组id 组名 ——指定了组id 组名
groupadd mysqluser
#查看是否存在MySQL组:
grep mysql /etc/group
###出现 注:mysql是组名,x是密码段,表示没有设置密码,501表示的是GID(组id)
mysql:x:501:
###
#查看是否存在MySQL用户:
grep mysql /etc/passwd
####
mysql:x:1000:1001::/home/mysql:/bin/bash
###存在一个名为mysql的用户
####
# 不存在创建一个名为mysqltest的用户,并加入mysqluser用户组
useradd -g mysqluser mysqltest
#创建mysql用户
useradd mysql -g mysql -M -s /sbin/nologin
注:-g:指定新用户所属的用户组(group); -M:不建立根目录;-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统
#创建mysql用户
useradd -u 27 -g mysql02 mysqluser01
注: useradd -u 用户id -g 组id/组名 用户名
##使用groups查看用户mysqluser01所在的组
groups mysqltest
#删除mysql用户组
groupdel mysql
#删除mysql用户
userdel mysql
# 制定password 为111111
passwd mysql
5.更改文件归属为mysql
chown -R mysqltest /opt/mysql ##用户
chgrp -R mysqluser /opt/mysql ##用户组
6.初始化
定位到 bin 目录
./mysqld --user=mysqltest --basedir=/opt/mysql/ --datadir=/opt/mysql/data --initialize
##提示缺少shared libraries: libaio.so.1
####./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
7. 查看是否安装libaio,无输出则没有
rpm -qa|grep libaio
8.安装 libaio
yum install libaio-devel.x86_64
9.再次执行步骤6
##成功后最后一行获取初始密码 ;jOqyyp<w63a
2021-01-27T11:04:50.321894Z 1 [Note] A temporary password is generated for root@localhost: ;jOqyyp<w63a
10.配置数据库
vim /etc/my.cnf
##添加如下内容
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port=3306
user=mysqltest
# 设置mysql的安装目录
basedir=/opt/mysql
# 设置mysql数据库的数据的存放目录
datadir=/opt/mysql/data
socket=/tmp/mysql.sock
# 服务端使用的字符集默认字符集
character-set-server=utf8
skip-grant-tables
symbolic-links=0
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysqld_safe]
log-error=/opt/mysql/log/mysqld.log
pid-file=/opt/mysql/data/HK-CPU.pid
11.启动 显示OK
#定位到 support-files
cd /opt/mysql/support-files
sh mysql.server start 或 service mysqld start
##通过ps命令查看pid文件路径
ps -ef|grep mysql
12.进入mysql
cd bin
mysql -u root -p;jOqyyp<w63a
13.使用systemd管理mysql
vim /etc/systemd/system/mysql.service
##添加如下内容
[Unit]
Description=MySQL Server 5.7.33
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
#User=mysqltest
#Group=mysqluser
PIDFile=/opt/mysql/data/HK-CPU.pid
ExecStart=/opt/mysql/support-files/mysql.server start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=false
[Install]
WantedBy=multi-user.target
###测试成功
systemctl daemon-reload
systemctl start mysql
systemctl sop mysql
systemctl status mysql