安装MySQL 5.7到RHEL8+系列上

暗香疏影 创作者

MySQL 5.7的yum源不在RHEL 8以及以后的系列上。但是如果我们想安装MySQL 5.7怎么办呢?
安装MySQL 5.7到红帽系8-9有两种安装方式。一种是rpm方式,另一种是tar.gz解压方式。
两种方式我们一般都将MySQL应用程序以及MySQL的数据库数据文件分开成数据库应用程序放置系统盘,而数据库数据本身放置数据盘。

解压方式安装

MySQL Install Using Generic Binaries
阿里云MySQL 5.7镜像
5.7.36 tar.gz 下载:https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
我们先聊一下通过解压方式安装。
使用解压方式安装,首先我们需要安装libaio驱动

1
2
3
yum install libaio -y

# apt-get install libaio1

然后我们创建一个文件夹用于放置MySQL以及MySQL的数据库,例如

1
2
3
4
mkdir /home/database/mysql/ -p
tar zxvf mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /home/database/mysql/
cd /home/database/mysql/
mv mysql-5.7.14-linux-glibc2.5-x86_64 mysql-5.7.14

假设我们已经创建好数据盘并挂载在/mnt/mysql_data
例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mkdir /mnt/mysql_data
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown -R mysql:mysql /home/database/mysql/
chown -R mysql:mysql /mnt/mysql_data/
cd mysql-5.7.14

bin/mysqld --initialize --user=mysql --basedir=/home/database/mysql/mysql-5.7.14 --datadir=/mnt/mysql_data

ln -s /home/database/mysql/mysql-5.7.14/support-files/mysql.server /usr/bin/mysqld
ln -s /home/database/mysql/mysql-5.7.14/bin/mysql /usr/bin/mysql
ln -s /home/database/mysql/mysql-5.7.14/bin/mysqladmin /usr/bin/mysqladmin

cat > /etc/my.cnf << EOF
[client]
port=3306

[mysqld]
basedir=/home/database/mysql/mysql-5.7.14
datadir=/mnt/data
port=3306
user=mysql
server-id = 1
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
EOF

然后我们再

1
mysqld start

需要注意的是,解压安装方式不会有systemd守护进程,需要手动添加。

RPM源安装方式

Install MySQL on Linux Using the MySQL Yum Repo

安装最新版:(添加Repo)

1
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm && yum -y install mysql57-community-release-el7-10.noarch.rpm && yum -y install mysql-community-server --nogpgcheck

安装特定版

1
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm && yum -y install mysql57-community-release-el7-10.noarch.rpm

然后通过以下方式查看列表

1
yum --showduplicates list mysql-community-server

如果没有列出,或者直接安装特定版本出现All matches were filtered out by modular filtering for argument,则代表dnf的mysql模块启用,需要先禁用该模块

1
dnf disable module mysql

安装5.7.14

1
yum install mysql-community-server-5.7.14-1.el7 mysql-community-client-5.7.14-1.el7 mysql-community-common-5.7.14-1.el7 mysql-community-libs-5.7.14-1.el7

安装后步骤

修改/etc/my.cnf
并将datadir=/var/lib/mysql改为/mnt/mysql_data

1
chown -R mysql:mysql /mnt/mysql_data/
1
systemctl enable mysqld --now

使用以下命令获取临时密码

1
grep 'temporary password' /var/log/mysqld.log

如果没有,RPM包安装是分成/usr/bin和/usr/sbin/放置应用程序。
你可以通过以下方式重新初始化:

1
/usr/sbin/mysqld --initialize --user=mysql --datadir=/mnt/mysql_data
  • 标题: 安装MySQL 5.7到RHEL8+系列上
  • 作者: 暗香疏影
  • 创建于 : 2024-11-29 07:11:00
  • 更新于 : 2024-11-29 07:11:00
  • 链接: https://blog.23ikr.com/2024/11/29/2024-11-29-MySQL57-Database-Install-RHEL-8/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论