ITPub博客

首页 > 数据库 > MySQL > 数据库教程FGMT29‑Linux平台MySQL5.7安装配置与管理入门

数据库教程FGMT29‑Linux平台MySQL5.7安装配置与管理入门

原创 MySQL 作者:mfkqwyc86 时间:2026-09-16 11:03:12 0 删除 编辑

数据库教程FGMT29‑Linux平台MySQL5.7安装配置与管理入门

## 前言

数据库是IT业务系统最核心的底层组件,MySQL5.7作为企业生产环境广泛落地的开源关系型数据库版本,大量OLTP业务、互联网业务、中小型企业核心系统均采用该版本进行业务数据存储与计算。风哥教程本文围绕Linux操作系统环境,完整覆盖MySQL5.7项目落地全流程,包含业务项目场景分析、操作系统环境预调优、软件介质获取、四种主流部署方式(二进制、源码编译、YUM、RPM)、实例参数配置、初始化、启停管理、远程访问授权、SSL安全连接部署、日常运维命令、故障排查、实例完整卸载等全链路技术内容。


风哥教程本文的硬件基准环境为:主机`fgedu‑net‑cn1`、`fgedu‑net‑cn2`,CPU规格8核,物理内存64GB,存储使用SSD介质;所有文件路径统一使用`/fgedudb`,数据库实例名、业务库名、业务账号统一使用`fgedudb`、`fgedu`;所有配置参数基于64G内存8CPU硬件规格进行调优配置,适配生产OLTP业务负载。


风哥教程本文的内容结构分为项目业务场景、操作系统运行环境准备、介质下载、多种方式安装部署、实例参数配置、初始化与启停、连接测试、SSL安全连接、基础管理命令、故障排查、数据库卸载。适合DBA、运维工程师、云计算工程师、后端开发人员学习使用,能够掌握企业生产环境MySQL5.7完整部署与基础运维能力。


### 本文内容大纲

1. Linux平台MySQL5.7项目业务场景介绍

2. MySQL数据库运行操作系统环境准备

3. MySQL官方介质下载方式与版本选型

4. Linux二进制包方式部署MySQL5.7实例

5. Linux源码编译方式部署MySQL5.7实例

6. Linux YUM仓库方式部署MySQL5.7实例

7. Linux RPM包方式部署MySQL5.7实例

8. MySQL实例安装后核心参数配置(64G/8C硬件)

9. MySQL实例初始化、启停管理与状态检查

10. MySQL本地与远程连接授权实战

11. MySQL5.7 SSL加密安全连接配置

12. MySQL日常基础管理命令与常见故障处理

13. Linux环境MySQL5.7完整卸载操作

14. 风哥针对本文总结


---


## 一、Linux平台MySQL5.7项目场景介绍

MySQL5.7在企业内部拥有非常广泛的落地场景,风哥将生产环境的典型业务场景做分类说明。


第一种场景,中小型互联网Web业务系统。网站、小程序、后台管理系统,业务并发中等,读写混合负载,业务数据量从几十GB到数百GB,采用单机MySQL5.7,后期演进为主从复制架构,主机`fgedu‑net‑cn1`作为主实例,`fgedu‑net‑cn2`作为从实例,支撑业务读写。该场景下优先使用二进制包部署,自由度高,参数可深度定制,适合DBA自主管控数据库全目录。


第二种场景,企业内部业务系统,ERP、OA、CRM等传统业务,并发量不高,数据可靠性优先,运维人员较少,追求部署简单、系统包统一管理,优先选择RPM或者YUM方式安装,跟随操作系统包管理器统一管理软件生命周期,降低运维复杂度。


第三种场景,定制化安全合规场景,部分政企、信创环境需要对MySQL源码进行修改,开启特定编译参数,关闭不需要的组件,适配安全规范,此时需要采用源码编译安装,自行指定编译选项,裁剪功能模块,生成定制化二进制程序。


第四种场景,测试开发环境,开发、测试人员快速搭建多套MySQL实例,用于功能测试、压力测试,YUM/RPM可以快速完成部署;二进制包适合单机多实例部署,一台主机运行多个`fgedudb`实例,隔离不同测试环境数据。


> 风哥 itpux‑com


不同部署方式没有绝对优劣,需要结合业务规模、运维团队能力、安全合规要求、后续升级维护成本综合选型。二进制包部署灵活性最高,生产环境使用占比最高;YUM/RPM操作简单,适合标准化环境;源码编译适合特殊定制需求,编译耗时长,后续升级维护成本高,非必要生产环境不推荐。


MySQL5.7的核心特性包括InnoDB作为默认存储引擎、在线DDL、原生JSON数据类型、性能schema增强、密码插件mysql_native_password、多线程复制等,截止目前仍然大量存量业务在运行,掌握MySQL5.7部署运维是DBA岗位的基础能力。


## 二、MySQL数据库运行操作系统环境准备

MySQL数据库性能稳定性高度依赖底层操作系统配置,在部署数据库实例之前,必须完成操作系统层面的预配置,避免后续出现文件句柄不足、内存swap抖动、网络连接异常、权限报错等问题,本章节所有操作均在root操作系统账号执行,主机`fgedu‑net‑cn1`环境。


### 2.1 关闭系统防火墙与SELinux(测试环境;生产按需开放端口)

```bash

#临时关闭selinux

setenforce 0

#yj关闭selinux

sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

#关闭firewalld

systemctl stop firewalld

systemctl disable firewalld

```

> 说明:生产环境不建议直接关闭防火墙,需要开放MySQL端口3306的访问策略;SELinux生产环境可以配置规则而不是直接关闭,测试环境为简化操作直接关闭。


### 2.2 操作系统依赖软件包安装

MySQL5.7运行依赖`libaio`异步IO库、`numactl`NUMA组件、`perl`、`net‑tools`等工具,CentOS7环境执行:

```bash

yum install -y libaio libaio‑devel numactl perl net‑tools wget gcc‑cmake ncurses‑devel bison openssl‑devel

```


### 2.3 用户与用户组创建

创建操作系统mysql账号,用于运行mysqld进程,数据库进程禁止使用root账号运行,保障安全隔离:

```bash

groupadd mysql

useradd ‑r ‑g mysql ‑s /sbin/nologin mysql

id mysql

```


> 风哥教程 113257174


### 2.4 内核参数调优,编辑/etc/sysctl.conf

针对64G内存8C数据库主机,修改虚拟内存、网络内核参数,执行`vim /etc/sysctl.conf`写入下面参数:

```ini

vm.swappiness = 5

vm.dirty_ratio = 40

vm.dirty_background_ratio = 10

net.ipv4.tcp_max_syn_backlog = 65535

net.ipv4.tcp_tw_reuse = 1

fs.file‑max = 655350

```

配置完成生效内核参数:

```bash

sysctl ‑p

```

参数说明:`vm.swappiness=5`尽可能减少操作系统将MySQL内存交换到swap分区,避免数据库性能抖动;`fs.file‑max`调整系统全局最大文件句柄数。


### 2.5 操作系统资源限制配置

修改文件句柄、进程数限制,编辑`/etc/security/limits.conf`,在文件末尾追加:

```ini

mysql soft nofile 65535

mysql hard nofile 65535

mysql soft nproc 65535

mysql hard nproc 65535

root soft nofile 65535

root hard nofile 65535

```

同时systemd服务资源限制,编辑`/etc/systemd/system.conf`:

```ini

DefaultLimitNOFILE=65535

DefaultLimitNPROC=65535

```

重载systemd配置:

```bash

systemctl daemon‑reload

```


### 2.6 关闭透明大页THP

透明大页会造成InnoDB内存性能抖动,数据库服务器建议关闭:

```bash

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag

```

写入`/etc/rc.local`实现开机自动关闭。


### 2.7 创建数据库目录结构

风哥教程本文全部路径统一为`/fgedudb`,分别创建软件目录、数据目录、日志目录、临时文件目录:

```bash

mkdir ‑p /fgedudb/mysql‑soft

mkdir ‑p /fgedudb/fgedudb‑data

mkdir ‑p /fgedudb/fgedudb‑log/binlog

mkdir ‑p /fgedudb/fgedudb‑log/slowlog

mkdir ‑p /fgedudb/fgedudb‑tmp

chown ‑R mysql:mysql /fgedudb

chmod 750 ‑R /fgedudb

ls ‑ld /fgedudb/*

```


> 网上搜索风哥教程可以学习全套数据库教程


目录规划说明:软件程序包存放`/fgedudb/mysql‑soft`;实例数据文件存放`/fgedudb/fgedudb‑data`;binlog二进制日志、慢查询日志拆分存放于独立日志目录;临时文件目录`/fgedudb/fgedudb‑tmp`,所有目录归属操作系统mysql用户,权限750,防止其他普通用户读取数据库文件。


## 三、MySQL数据库介质下载与版本选型

MySQL官方归档下载地址为MySQL Community Archives,企业生产环境优先选择GA稳定版本,不选用开发版、beta测试版本,风哥教程本文选用MySQL5.7.44版本作为演示版本,该版本为5.7系列后期稳定维护版本。


下载介质分为四类:Linux‑Generic通用二进制tar包、源码tar包、RPM包集合、YUM仓库repo配置包。


### 3.1 二进制包下载示例

```bash

cd /fgedudb/mysql‑soft

wget [https://downloads.mysql.com/archives/get/p/23/file/mysql](https://downloads.mysql.com/archives/get/p/23/file/mysql)‑5.7.44‑linux‑glibc2.12‑x86_64.tar.gz

```


### 3.2 源码包下载示例

```bash

wget [https://downloads.mysql.com/archives/get/p/23/file/mysql](https://downloads.mysql.com/archives/get/p/23/file/mysql)‑5.7.44.tar.gz

```


### 3.3 RPM包组下载

可以批量下载server、client、libs、devel全套rpm包,适合内网离线环境部署;外网环境优先使用YUM repo包在线安装。


版本选型注意要点:

1. 生产环境尽量选择小版本号高的稳定GA版本,修复大量安全bug和InnoDB故障bug;

2. glibc2.12通用二进制包兼容CentOS7、CentOS8主流发行版;

3. 下载完成后建议校验MD5校验值,确认介质没有损坏或者被篡改。


> 风哥数据库教程 itpux‑com


## 四、Linux平台二进制包方式安装MySQL5.7(生产环境主流)

二进制包安装,不需要编译,解压后直接配置初始化,生产环境使用占比最高,本章节主机`fgedu‑net‑cn1`,实例名称`fgedudb`。


### 4.1 解压二进制包

```bash

cd /fgedudb/mysql‑soft

tar ‑zxvf mysql‑5.7.44‑linux‑glibc2.12‑x86_64.tar.gz

#创建软链接

ln ‑s mysql‑5.7.44‑linux‑glibc2.12‑x86_64 /fgedudb/mysql‑soft/mysql

ls ‑l /fgedudb/mysql‑soft

```


### 4.2 配置my.cnf配置文件(64G内存,8CPU)

创建MySQL配置文件`/etc/my‑fgedudb.cnf`,该实例为`fgedudb`实例,**64G物理内存8核CPU硬件规格参数**,InnoDB缓冲池分配40G,占物理内存60%左右,预留内存给操作系统、binlog缓存、连接缓冲区等。


`vim /etc/my‑fgedudb.cnf`完整配置内容:

```ini

[mysqld]

user=mysql

port=3306

socket=/fgedudb/fgedudb‑data/mysql.sock

pid‑file=/fgedudb/fgedudb‑data/fgedudb.pid

basedir=/fgedudb/mysql‑soft/mysql

datadir=/fgedudb/fgedudb‑data

tmpdir=/fgedudb/fgedudb‑tmp


#内存参数 64G内存8CPU

innodb_buffer_pool_size=40G

innodb_buffer_pool_instances=8

innodb_log_file_size=4G

innodb_log_buffer_size=256M

innodb_file_per_table=1

innodb_flush_log_at_trx_commit=1

sync_binlog=1


#IO参数

innodb_read_io_threads=64

innodb_write_io_threads=64

innodb_io_capacity=2000

innodb_io_capacity_max=4000


#连接参数

max_connections=3000

max_connect_errors=100000

open_files_limit=65535

back_log=1024

max_allowed_packet=1G


#字符集

character‑set‑server=utf8mb4

collation‑server=utf8mb4_unicode_ci


#二进制日志

log_bin=/fgedudb/fgedudb‑log/binlog/fgedudb‑bin

binlog_format=ROW

expire_logs_days=7

server‑id=1


#慢查询日志

slow_query_log=ON

slow_query_log_file=/fgedudb/fgedudb‑log/slowlog/fgedudb‑slow.log

long_query_time=1

log_queries_not_using_indexes=ON


#其他参数

skip‑name‑resolve=1

explicit_defaults_for_timestamp=1

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION


[mysqld_safe]

log‑error=/fgedudb/fgedudb‑data/fgedudb‑error.log


[mysql]

socket=/fgedudb/fgedudb‑data/mysql.sock

default‑character‑set=utf8mb4

```


> 上51CTO搜索风哥可以学习全套数据库教程


参数简要说明:

- `innodb_buffer_pool_size=40G`:64G主机分配40G给InnoDB缓冲池,是MySQL最重要内存参数;

- `innodb_log_file_size=4G`:redo日志文件大小,OLTP业务设置2‑4G;

- `sync_binlog=1`、`innodb_flush_log_at_trx_commit=1`:保证ACID数据安全,最高安全级别;

- `binlog_format=ROW`行模式复制,生产环境标准配置;

- `skip‑name‑resolve=1`关闭域名解析,避免连接卡顿;

- `expire_logs_days=7`binlog自动保留7天,防止磁盘占满。


### 4.3 执行数据库初始化

MySQL5.7使用`mysqld --initialize`初始化,生成随机root密码,密码输出到错误日志`/fgedudb/fgedudb‑data/fgedudb‑error.log`。

```bash

cd /fgedudb/mysql‑soft/mysql

bin/mysqld --defaults‑file=/etc/my‑fgedudb.cnf --initialize --user=mysql

```

初始化完成查看临时root密码:

```bash

grep 'temporary password' /fgedudb/fgedudb‑data/fgedudb‑error.log

```


### 4.4 配置systemd服务管理

编写systemd服务单元文件`/usr/lib/systemd/system/mysql‑fgedudb.service`

```ini

[Unit]

Description=MySQL fgedudb Database Server

After=network.target


[Service]

User=mysql

Group=mysql

ExecStart=/fgedudb/mysql‑soft/mysql/bin/mysqld --defaults‑file=/etc/my‑fgedudb.cnf

ExecReload=/bin/kill ‑HUP $MAINPID

Restart=on‑failure

LimitNOFILE=65535

LimitNPROC=65535


[Install]

WantedBy=multi‑user.target

```

重载systemd,启动实例:

```bash

systemctl daemon‑reload

systemctl start mysql‑fgedudb

systemctl enable mysql‑fgedudb

systemctl status mysql‑fgedudb

```


### 4.5 修改root初始密码,本地登录

```bash

/fgedudb/mysql‑soft/mysql/bin/mysql ‑S /fgedudb/fgedudb‑data/mysql.sock ‑uroot ‑p

```

输入初始化输出的临时密码,登录后修改root账号密码:

```sql

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@Fgedu123';

flush privileges;

```


### 4.6 配置环境变量

编辑`/etc/profile`增加mysql命令环境变量:

```bash

echo "export PATH=/fgedudb/mysql‑soft/mysql/bin:\$PATH" >> /etc/profile

source /etc/profile

mysql ‑V

```


## 五、Linux平台源码编译方式安装MySQL5.7

源码编译适合需要自定义编译参数、裁剪组件的场景,编译依赖cmake工具,编译耗时较长,本章节依旧主机`fgedu‑net‑cn1`,实例`fgedudb`。


### 5.1解压源码包

```bash

cd /fgedudb/mysql‑soft

tar ‑zxvf mysql‑5.7.44.tar.gz

cd mysql‑5.7.44

```


### 5.2 cmake编译配置

```bash

cmake \

‑DCMAKE_INSTALL_PREFIX=/fgedudb/mysql‑soft/mysql‑src \

‑DMYSQL_DATADIR=/fgedudb/fgedudb‑data \

‑DSYSCONFDIR=/etc \

‑DWITH_MYISAM_STORAGE_ENGINE=1 \

‑DWITH_INNOBASE_STORAGE_ENGINE=1 \

‑DWITH_PARTITION_STORAGE_ENGINE=1 \

‑DWITH_FEDERATED_STORAGE_ENGINE=0 \

‑DWITH_BLACKHOLE_STORAGE_ENGINE=0 \

‑DWITH_READLINE=1 \

‑DWITH_SSL=system \

‑DWITH_ZLIB=system \

‑DENABLED_LOCAL_INFILE=1 \

‑DMYSQL_UNIX_ADDR=/fgedudb/fgedudb‑data/mysql.sock \

‑DDEFAULT_CHARSET=utf8mb4 \

‑DDEFAULT_COLLATION=utf8mb4_unicode_ci \

‑DMYSQL_TCP_PORT=3306

```

> cmake参数说明:关闭不需要的Federated、Blackhole存储引擎,开启InnoDB、MyISAM,使用系统openssl,默认字符集utf8mb4。


### 5.3编译与安装

```bash

make ‑j8

make install

```

‑j8代表使用8个CPU核心并行编译,编译完成之后,后续配置my.cnf、初始化、systemd服务步骤,与二进制包安装完全一致,参考第四节4.2‑4.6小节。


> 注意:源码编译生产环境不推荐,升级版本时需要重新编译,维护成本高,仅用于定制化特殊需求场景。


## 六、YUM方式安装MySQL5.7实战

YUM安装适合标准化环境,通过官方yum仓库直接在线安装软件包,自动处理依赖关系,适合测试环境、运维人员少的标准化业务服务器,主机`fgedu‑net‑cn2`。


### 6.1下载mysql yum仓库rpm包

```bash

cd /fgedudb/mysql‑soft

wget [https://dev.mysql.com/get/mysql57](https://dev.mysql.com/get/mysql57)‑community‑release‑el7‑5.noarch.rpm

rpm ‑ivh mysql57‑community‑release‑el7‑5.noarch.rpm

```


### 6.2确认yum仓库开启mysql57

```bash

yum repolist enabled | grep mysql

#如果8.0默认开启,关闭8.0,启用5.7

yum‑config‑manager ‑‑enable mysql57‑community

yum‑config‑manager ‑‑disable mysql80‑community

```


### 6.3执行yum安装

```bash

yum install ‑y mysql‑community‑server mysql‑community‑client

```

安装完成之后,mysqld服务由systemd管理:

```bash

systemctl start mysqld

systemctl enable mysqld

systemctl status mysqld

```


### 6.4获取临时密码,登录修改密码

yum安装的数据目录默认`/var/lib/mysql`,错误日志在`/var/log/mysqld.log`

```bash

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

mysql ‑uroot ‑p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@Fgedu123';

flush privileges;

```


> 注意:yum安装默认配置文件`/etc/my.cnf`;如果生产环境需要修改数据目录为`/fgedudb/fgedudb‑data`,需要停止服务迁移数据目录,修改my.cnf参数,修改目录权限。


## 七、RPM包离线方式安装MySQL5.7

内网无法访问外网yum源环境,下载全套RPM包进行离线安装,RPM包顺序安装,先libs、common,再devel,最后server、client。


```bash

cd /fgedudb/mysql‑soft

#按顺序执行rpm安装

rpm ‑ivh mysql‑community‑common‑5.7.44‑1.el7.x86_64.rpm

rpm ‑ivh mysql‑community‑libs‑5.7.44‑1.el7.x86_64.rpm

rpm ‑ivh mysql‑community‑devel‑5.7.44‑1.el7.x86_64.rpm

rpm ‑ivh mysql‑community‑client‑5.7.44‑1.el7.x86_64.rpm

rpm ‑ivh mysql‑community‑server‑5.7.44‑1.el7.x86_64.rpm

```

安装完成之后,启动mysqld服务,后续初始化改密码操作与YUM安装一致。


## 八、MySQL安装后测试与远程连接授权

实例启动成功后,需要创建业务账号`fgedu`,业务库`fgedudb`,授权远程访问权限,用于应用程序连接数据库。


### 8.1本地登录数据库

```bash

mysql ‑uroot ‑p

```


### 8.2创建业务数据库fgedudb

```sql

CREATE DATABASE fgedudb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

show databases;

```


### 8.3创建业务账号fgedu,授权远程访问

```sql

CREATE USER 'fgedu'@'%' IDENTIFIED BY 'Fgedu@123456';

GRANT ALL PRIVILEGES ON fgedudb.* TO 'fgedu'@'%';

FLUSH PRIVILEGES;

show grants for fgedu@'%';

```

> 说明:`'fgedu'@'%'`代表允许来自任意IP地址登录;生产环境建议将%修改为业务应用服务器IP,缩小访问范围,提升数据库安全。


### 8.4远程连接测试

在另外一台主机测试远程访问,替换数据库主机IP地址:

```bash

mysql ‑h fgedu‑net‑cn1的IP ‑ufgedu ‑pFgedu@123456 ‑P3306

```

连接成功之后执行:

```sql

select database();

show databases;

```


## 九、MySQL配置SSL安全连接实战

MySQL5.7支持SSL加密传输,客户端与数据库之间网络报文加密,防止网络抓包窃取数据,生产环境跨公网访问数据库强烈建议开启SSL连接。


### 9.1二进制包环境生成SSL证书文件

MySQL5.7自带工具`mysql_ssl_rsa_setup`,一键生成CA、服务端、客户端证书密钥文件。

```bash

cd /fgedudb/mysql‑soft/mysql

bin/mysql_ssl_rsa_setup --uid=mysql --datadir=/fgedudb/fgedudb‑data

ls /fgedudb/fgedudb‑data/*.pem

```

生成ca.pem、server‑key.pem、server‑cert.pem等证书文件。


### 9.2修改my‑fgedudb.cnf开启ssl

在[mysqld]段增加参数:

```ini

ssl_ca=/fgedudb/fgedudb‑data/ca.pem

ssl_cert=/fgedudb/fgedudb‑data/server‑cert.pem

ssl_key=/fgedudb/fgedudb‑data/server‑key.pem

```

重启MySQL实例生效:

```bash

systemctl restart mysql‑fgedudb

```


### 9.3登录数据库查看SSL状态

```sql

show variables like '%ssl%';

```

`have_ssl`显示YES代表SSL功能已经启用。


### 9.4客户端SSL连接测试

```bash

mysql ‑h 数据库IP ‑ufgedu ‑p --ssl‑mode=REQUIRED

```

登录之后执行status,输出信息可以看到`SSL: Cipher in use`,代表当前会话使用加密SSL通道传输数据。


## 十、MySQL基础管理命令与常见问题排查

风哥教程本文整理生产环境高频DBA基础管理命令,用于日常状态检查、故障定位。


### 10.1实例启停状态管理(二进制systemd方式)

```bash

systemctl start mysql‑fgedudb

systemctl stop mysql‑fgedudb

systemctl restart mysql‑fgedudb

systemctl status mysql‑fgedudb

```


### 10.2登录数据库多种方式

```bash

#socket本地登录

mysql ‑S /fgedudb/fgedudb‑data/mysql.sock ‑uroot ‑p

#TCP本地回环登录

mysql ‑h127.0.0.1 ‑P3306 ‑uroot ‑p

#远程TCP登录

mysql ‑hIP ‑P3306 ‑uroot ‑p

```


### 10.3基础运维SQL

```sql

#查看版本

select version();

#查看当前用户

select user();

#查看数据库进程列表

show processlist;

show full processlist;

#查看变量

show variables like '%max_connections%';

#查看运行状态

show global status like 'Threads_connected';

#查看InnoDB状态

show engine innodb status\G

```


### 10.4常见故障排查思路

1. 实例启动失败:优先查看错误日志`/fgedudb/fgedudb‑data/fgedudb‑error.log`,排查目录权限、配置参数语法、磁盘满、端口占用;

2. 无法远程连接:检查防火墙、账号授权、skip‑name‑resolve参数;

3. 连接数爆满:观察processlist,定位慢SQL,优化业务SQL或者调大max_connections;

4. 初始化报错:确认libaio依赖包已经安装,目录权限全部归属mysql用户。


## 十一、Linux平台MySQL5.7完整卸载实战

当实例损坏、版本迁移时,需要完成数据库完整卸载,分为二进制包卸载、RPM/YUM包卸载两种场景。


### 11.1二进制包实例卸载步骤

1.停止数据库服务

```bash

systemctl stop mysql‑fgedudb

systemctl disable mysql‑fgedudb

rm ‑f /usr/lib/systemd/system/mysql‑fgedudb.service

systemctl daemon‑reload

```

2.删除软件目录、数据目录、配置文件

```bash

rm ‑rf /fgedudb

rm ‑f /etc/my‑fgedudb.cnf

#删除profile环境变量配置,编辑/etc/profile去掉mysql PATH行

```


### 11.2 RPM/YUM安装的MySQL卸载

```bash

systemctl stop mysqld

systemctl disable mysqld

yum remove ‑y mysql‑community‑*

rm ‑rf /var/lib/mysql

rm ‑f /etc/my.cnf

rm ‑rf /var/log/mysqld.log

```

> 重要提醒:卸载前确认业务数据已经备份,执行rm删除目录会全部清除业务数据,操作风险极高。


## 风哥针对本文总结

风哥教程本文完整覆盖Linux环境MySQL5.7的项目场景分析、操作系统底层环境调优、介质下载、二进制、源码编译、YUM、RPM四种主流部署方式、基于64G内存8CPU硬件规格的my.cnf参数配置、实例初始化、systemd服务管理、业务账号库创建、远程授权访问、SSL加密连接配置、日常运维命令、故障排查、实例完整卸载全流程。


四种部署方式各有适用边界:二进制包生产环境优先推荐,自由度最高,参数深度可控;YUM/RPM适合标准化、测试环境,部署简单,依赖自动处理;源码编译仅用于特殊安全定制场景,维护成本高,生产环境非必要不使用。操作系统内核参数、资源限制、目录权限是数据库稳定运行的基础,很多数据库后续故障根源来自部署阶段操作系统配置缺失。


部署完成之后,不能仅仅满足实例能够启动,需要完成账号权限最小化、SSL加密、慢查询日志开启、binlog开启、过期日志自动清理等安全与运维配置。生产上线前务必做好业务数据备份策略,定期验证备份文件可用性,规避数据丢失风险。掌握本套风哥教程全部实操内容,能够独立完成企业内部MySQL5.7单机实例部署与基础运维工作,为后续学习主从复制、高可用架构、性能调优打下坚实基础。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9664900/viewspace-3182518/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
风哥Oracle,MySQL,PostgreSQL,Linux,大数据,国产数据库,中间件等教程

注册时间:2010-10-26

  • 博文量
    68
  • 访问量
    406019