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

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

前言

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

风哥教程本文的硬件基准环境为:主机fgedu‑net‑cn1fgedu‑net‑cn2,CPU规格8核,物理内存64GB,存储使用SSD介质;所有文件路径统一使用/fgedudb,数据库实例名、业务库名、业务账号统一使用fgedudbfgedu;所有配置参数基于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库、numactlNUMA组件、perlnet‑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=1innodb_flush_log_at_trx_commit=1:保证ACID数据安全,最高安全级别;
  • binlog_format=ROW行模式复制,生产环境标准配置;
  • skip‑name‑resolve=1关闭域名解析,避免连接卡顿;
  • expire_logs_days=7binlog自动保留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单机实例部署与基础运维工作,为后续学习主从复制、高可用架构、性能调优打下坚实基础。

相关推荐
杨云龙UP4 小时前
MySQL Host is blocked because of many connection errors 导致 JDBC 连接失败排查与解决
linux·运维·网络·数据库·sql·mysql·登录失败
这个DBA有点耶5 小时前
数据库数据同步解决方案怎么选?6款主流工具横向对比与信创选型指南
数据库·架构·dba
刃神太酷啦5 小时前
Redis 核心进阶:哨兵、集群、缓存问题与分布式锁详解----《Hello Redis!》(6)
linux·c语言·数据库·c++·redis·分布式·缓存
小雷信息医学5 小时前
不会写复杂代码也能发 SCI?手把手教你用 InSpireR 交互系统一键提取、合并与导出临床科研宽表【第三章】
数据库
旺仔不是程序员6 小时前
复合索引最左前缀原则:PostgreSQL 的 WHERE 为什么必须命中第一列
数据库·后端·sql
旺仔不是程序员6 小时前
字段类型不一致:PostgreSQL 报错与索引失效的第一元凶
数据库·后端·sql
白远山6 小时前
货运跑腿搬家平台开发实战:从需求分析到落地部署指南
数据库·数据挖掘·需求分析
geovindu6 小时前
sql: Data Modeling Patterns
数据库·sql·设计模式·sqlserver
上海蓝色星球6 小时前
蓝色星球NG-AIOS新型AI工业操作系统重磅发布——以本体智能为内核,重构“AI+制造“新范式
大数据·数据库·人工智能·机器人