CentOS 7使用RPM包安装MySQL5.7

目标

本文目标是简单介绍如何在CentOS 7上使用RPM包安装MySQL 5.7,然后描述如何调整存储路径datadir。

环境准备

  • 操作系统 ------ CentOS 7
  • MySQL版本 ------ MySQL 5.7.44

获取MySQL-rpm包

官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html

在官网上下载以下安装文件(如图所示,总计大小200M左右):

序号 安装文件 大小
1 mysql-community-common-5.7.44-1.el7.x86_64.rpm 314 KB
2 mysql-community-libs-5.7.44-1.el7.x86_64.rpm 2.94 MB
3 mysql-community-libs-compat-5.7.44-1.el7.x86_64.rpm 1.2 MB
4 mysql-community-client-5.7.44-1.el7.x86_64.rpm 31.1 MB
5 mysql-community-server-5.7.44-1.el7.x86_64.rpm 184 MB

安装MySQL

参考官方文档:Installing MySQL on Linux Using RPM Packages from Oracle

步骤 1 :上传安装包

将MySQL的rpm包上传到服务器/root。

步骤 2 :执行安装命令

shell 复制代码
yum install mysql-community-*.rpm

注意:

使用yum命令安装mysql,会自动卸载mariadb,不用再手动卸载。

rpm包安装mysql,会自动创建mysqld服务,且是开机自启的,不用再手动配置。

安装时会自动创建mysql用户和mysql组,用于运行mysqld服务。

配置MySQL

修改存储路径

使用rpm包安装mysql,存储路径默认在/var/lib/mysql。若有需要修改该路径(比如改为:/home/mysql/data),可按照以下步骤进行修改:

1. 修改/etc/my.cnf

修改/etc/my.cnf中的配置条目:

properties 复制代码
datadir=/home/mysql/data

2. 创建存储目录

创建存储目录/home/mysql/data,并授予mysql所属权限。

shell 复制代码
mkdir -p /home/mysql/data
chown -R mysql:mysql /home/mysql

3. 修改数据目录上下文

默认数据目录位置为 /var/lib/mysql/;并且使用的 SELinux 上下文是 mysqld_db_t。需要将相应的路径也修改成/home/mysql/data与/etc/my.cnf的datadir保持一致,否则会被selinux校验住导致无法启动MySQL服务(参考: SELinux File Context)。

shell 复制代码
semanage fcontext -a -t mysqld_db_t "/home/mysql/data(/.*)?"
restorecon -Rv /home/mysql/data

4. 启动mysqld服务验证

shell 复制代码
[root@localhost mysql]# systemctl restart mysqld
[root@localhost mysql]# mysql -uroot -p
mysql> show variables like '%datadir%';
+---------------+-------------------+
| Variable_name | Value             |
+---------------+-------------------+
| datadir       | /home/mysql/data/ |
+---------------+-------------------+
1 row in set (0.02 sec)

结语:本文写的得很简单,后续有时间再继续完善,欢迎大佬们多提建议。

相关推荐
Lam㊣5 小时前
Centos 7 系统docker:更换镜像源
linux·docker·centos
oMcLin15 小时前
如何在 CentOS 8 上部署并优化 Jenkins 2.x 流水线,提升 CI/CD 流程的自动化与高效性
ci/cd·centos·jenkins
oMcLin16 小时前
如何在 CentOS 7.9 上配置并调优 Docker Swarm 集群,确保跨多个节点的高效服务发现与负载均衡?
docker·centos·服务发现
不染尘.16 小时前
Linux基本概述
linux·windows·centos·ssh
HABuo1 天前
【Linux进程(四)】进程切换&环境变量深入剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
Shanxun Liao1 天前
CentOS 7.9 根分区 / 已经 100% 用满隐藏占用解决办法
linux·运维·centos
云动课堂2 天前
【运维实战】企业级Samba文件共享服务 · 一键自动化部署方案 (适配银河麒麟 V10 /openEuler /CentOS)
运维·centos·自动化
oMcLin2 天前
如何在CentOS Stream 9上通过配置Hyper‑V虚拟化实现高效的资源隔离与虚拟机管理?
linux·运维·centos
tianyuanwo2 天前
深入解析CentOS 8网络配置:NetworkManager DNS管理机制与网卡类型深度剖析
linux·网络·centos
tianyuanwo2 天前
深入解析CentOS 8中NetworkManager重启后DNS配置被覆盖的机制与解决方案
linux·运维·centos·dns