1. 首页 > MySQL教程 > 正文

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

数据库教程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
#永久关闭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单机实例部署与基础运维工作,为后续学习主从复制、高可用架构、性能调优打下坚实基础。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息