news 2026/11/4 6:51:34

Centos Stream10 安装 MySQL-9.7.2-linux-glibc2.28-x86_64.tar

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Centos Stream10 安装 MySQL-9.7.2-linux-glibc2.28-x86_64.tar

Centos Stream10 安装 MySQL-9.7.2-linux

Version: MySQL-9.7.2-linux-glibc2.28-x86_64.tar.xz

更新系统

小白认为吧!保持系统最新,还是有必要的,当然我是个个例。

# 清理所有旧的软件包缓存和仓库元数据dnf clean all# 自动卸载系统不再需要的孤立依赖包dnf autoremove-y# 先确认当前正在运行的内核,绝对不要删除这个版本uname-r# 自动清理所有旧内核,仅保留当前在用版本dnf remove--oldinstallonly-y

官网下载

wget 方式下载(建议使用)

sudowgethttps://dev.mysql.com/get/Downloads/MySQL-9.7/mysql-9.7.2-linux-glibc2.28-x86_64.tar.xz

官网下载

查看其他资料,哈哈哈!
MySQL安装流程

基础依赖库

包含 libaio、numactl、wget、vim

sudodnfinstall-ylibaio numactlwgetvim

删除MySQL残留

卸载系统自带的 MariaDB 和旧版 MySQL 残留

# 查看已安装的数据库相关包sudorpm-qa|grep-iE'mysql|mariadb'# 批量卸载所有相关包sudodnf remove-ymariadb* mysql*# 删除残留数据目录sudorm-rf/var/lib/mysql /etc/my.cnf /var/log/mysqld.log

MySQL 安装

创建系统用户

mysql不能在 Root用户下运行,so 必须创建一个非 Root 用户

### 创建用户useraddmysql### 设置密码passwdmysql 输入密码### 删除用户userdelmysql### 切换用户命令sumysql

创建系统所需文件夹

包括 数据文件夹、安装文件夹
数据文件夹:
binlog、datas、logs、secure_data
安装文件夹:
/server/tools

## create base package filemkdir-p/server/tools### create tool datas filemkdir-p/data/mysql/{binlog,datas,logs,secure_data}

开放 mysql防火墙端口

添加端口

firewall-cmd --add-port=3306/tcp--permanent

刷新防火墙

firewall-cd--reload

查看端口

firewall-cmd --list-port

解压

将mysql-9.7.2 解压至指定文件件

## 解压tar-xvfmysql-9.7.2-linux-glibc2.28-x86_64.tar.xz-C/server/tools/## 重命名 mysql 解压缩文件(decompressing files)cd/server/tools/mvmysql-9.7.2-linux-glibc2.28-x86_64 mysql-9.7.2
软连接
ln-s/server/tools/mysql-9.7.2 /usr/local/mysql

编辑mysql 配置文件

vi/etc/mysql.cnf
[mysqld]# ========== 基础路径与身份 ==========user=mysqlport=3306basedir=/server/tools/mysql-9.7.2datadir=/data/mysql/datassocket=/tmp/mysql.sock pid-file=/server/tools/mysql-9.7.2/mysqld.pid log-error=/data/mysql/logs/error.log lc-messages-dir=/server/tools/mysql-9.7.2/share# ========== 字符集与时区 ==========character-set-server=utf8mb4 collation-server=utf8mb4_0900_ai_ci default-time-zone=+08:00# skip-character-set-client-handshake=1# ========== 连接与基础限制 ==========max_connections=1000max_connect_errors=100000wait_timeout=28800interactive_timeout=28800back_log=2048max_allowed_packet=64Mopen_files_limit=65535# ========== InnoDB 核心优化(32G内存专属) ==========default-storage-engine=INNODBinnodb_buffer_pool_size=16Ginnodb_buffer_pool_instances=8# innodb_log_file_size=1Ginnodb_redo_log_capacity=1G# innodb_log_files_in_group=2innodb_flush_log_at_trx_commit=1innodb_flush_method=O_DIRECTinnodb_io_capacity=4000innodb_io_capacity_max=8000innodb_read_io_threads=16innodb_write_io_threads=16innodb_thread_concurrency=0innodb_autoinc_lock_mode=2innodb_adaptive_hash_index=ONinnodb_lru_scan_depth=4096innodb_page_cleaners=16innodb_purge_threads=4# ========== 事务与隔离级别 ==========transaction_isolation=READ-COMMITTEDinnodb_strict_mode=ON# ========== Binlog 与复制配置 ==========log-bin=/data/mysql/binlog/mysql-binbinlog_format=ROWbinlog_row_image=MINIMALbinlog_expire_logs_seconds=604800server-id=1log_bin_index=/data/mysql/binlog/mysql-bin.indexsync_binlog=1binlog_cache_size=1Mmax_binlog_cache_size=8M# ========== 慢查询与审计 ==========slow_query_log=ONslow_query_log_file=/data/mysql/logs/slow.loglong_query_time=2log_queries_not_using_indexes=OFFmin_examined_row_limit=1000log_slow_admin_statements=ON# ========== 排序与临时表优化 ==========sort_buffer_size=4Mjoin_buffer_size=4Mread_buffer_size=2Mread_rnd_buffer_size=4Mtmp_table_size=64Mmax_heap_table_size=64M# ========== 安全配置 ==========bind-address=0.0.0.0sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTIONlocal_infile=OFFskip_name_resolve=ONsecure_file_priv=/data/mysql/secure_data# ========== 表空间与新特性兼容 ==========innodb_file_per_table=ON enforce-gtid-consistency=ONgtid_mode=ON[client]socket=/tmp/mysql.sock default-character-set=utf8mb4port=3306[mysql]default-character-set=utf8mb4

赋权

赋权给 解压文件夹和数据文件夹

## 解压文件夹路径chown-Rmysql:mysql /server## 数据文件夹路径chown-Rmysql:mysql /data

mysql添加至系统环境

vim/etc/profile
# mysql homeMYSQL_HOME=/server/tools/mysql-9.7.2# path evironmentPATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$MYSQL_HOME/binexportPATHJAVA_HOME MAVEN_HOME MYSQL_HOME
重载资源
source/etc/profile

初始化mysql

初始化命令:
– initialize 初始化
– user=mysql 指定用户
– basedir=/server/tools/mysql-9.7.2 mysql解压目录,=亲后不能有空格
– datadir=/data/mysql/datas mysql数据目录,=亲后不能有空格

/server/tools/mysql-9.7.2/bin/mysqld--initialize--user=mysql--basedir=/server/tools/mysql-9.7.2--datadir=/data/mysql/datas

查看输出日志

cat/data/mysql/logs/error.log

后台输出

2026-11-02T19:16:47.294720Z0[System][MY-015017][Server]MySQL Server Initialization - start.2026-11-02T19:16:47.296060Z0[Warning][MY-011070][Server]'binlog_format'is deprecated and will be removedina future release.2026-11-02T19:16:47.296488Z0[System][MY-013169][Server]/server/tools/mysql-9.7.2/bin/mysqld(mysqld9.7.2)initializing of serverinprogress as process79182026-11-02T19:16:47.302893Z1[System][MY-013576][InnoDB]InnoDB initialization has started.2026-11-02T19:16:48.706906Z1[System][MY-013577][InnoDB]InnoDB initialization has ended.2026-11-02T19:16:49.210278Z6[Note][MY-010454][Server]A temporary password is generatedforroot@localhost: a%RJou9XfQz92026-11-02T19:16:50.703428Z0[System][MY-015018][Server]MySQL Server Initialization - end.

查看mysql临时密码

sudogrep'temporary password'/data/mysql/logs/error.log

后台输出

2026-11-02T19:16:49.210278Z6[Note][MY-010454][Server]A temporary password is generatedforroot@localhost: a%RJou9XfQz9

MySQL 服务

启动服务命令

加载服务
sudosystemctl daemon-reload
启动服务
sudosystemctl start mysqld
重启服务
sudosystemctl restart mysqld
失败后重新设置重启
sudosystemctl reset-failed mysqld
查看服务状态
sudosystemctl status mysqld
设置服务开机自启
sudosystemctlenablemysqld

编写mysql 服务配置文件

在系统中服务文件下创建mysqld.service文件

vim/etc/systemd/system/mysqld.service

具体内容

[Unit]Description=MySQL ServerAfter=network.target[Service]Type=simpleUser=mysqlGroup=mysqlExecStart=/server/tools/mysql-9.7.2/bin/mysqld --defaults-file=/etc/my.cnfLimitNOFILE=65535Restart=on-failureRestartSec=5PrivateTmp=falseProtectHome=falseProtectSystem=falseNoNewPrivileges=false[Install]WantedBy=multi-user.target
启动服务

包括服务加载、服务启动、服务状态

# 服务加载sudosystemctl daemon-reload# 服务启动sudosystemctl start mysqld# 服务状态sudosystemctl status mysqld

后台显示

● mysqld.service - MySQL Server Loaded: loaded(/etc/systemd/system/mysqld.service;5:185mdisabled;preset:5:185m>Active: activating(auto-restart)(Result: exit-code)since Tue2026-1>Invocation: b7e18306328f48b0bc174750b32b5750 Process:9188ExecStart=/server/tools/mysql-9.7.2/bin/mysqld --defaults>Main PID:9188(code=exited,status=203/EXEC)Mem peak:1.2M CPU: 6ms

Main PID: 9188 (code=exited, status=203/EXEC)
小白的问题是被selinux 拦截了

SELinux 拦截问题

setenforce 0: 是临时把 SELinux 从 Enforcing 切到 Permissive (只记录不拦截),重启后失效。用来验证刚才的 203/EXEC 是不是 SELinux 引起的
setenforce 1: 是把 SELinux 从 Permissive 切到 Enforcing 。

setenforce0# 需要 rootgetenforce# 期望输出 Permissivesetenforce1# 需要 rootgetenforce# 期望输出 Enforcing

解决SELinux 拦截问题

# 临时关闭拦截setenforce0# 需要 root# 重启服务sudosystemctl restart mysqld# 开启拦截setenforce1# 需要 root# 查看服务状态sudosystemctl status mysqld

启动服务后查看状态后台输出

Active: active(running)since Tue2026-11-03 02:23:38 CST;22min ago
● mysqld.service - MySQL Server Loaded: loaded(/etc/systemd/system/mysqld.service;disabled;preset: disabled)Active: active(running)since Tue2026-11-03 02:23:38 CST;22min ago Invocation: 153f75cf12d5434c8f2e6813eaa7cba9 Main PID:10940(mysqld)Tasks:70(limit:22802)Memory:1.9G(peak:1.9G)CPU:7.471s CGroup: /system.slice/mysqld.service └─10940 /server/tools/mysql-9.7.2/bin/mysqld --defaults-file=/etc/my.cnf Nov 03 02:23:38 itcat systemd[1]: Started mysqld.service - MySQL Server.

重启mysql

查看mysql 临时密码

sudogrep'temporary password'/data/mysql/logs/error.log

启动mysql

mysql-uroot-p按Enter键 输入临时密码

修改密码

修改root密码

登录成功后立即修改 root 账户的密码

ALTERUSER'root'@'localhost'IDENTIFIED BY'你的自定义强密码';
修改远程访问密码

按需开启远程访问权限(生产环境建议限制指定IP访问)

# 创建远程密码CREATEUSER'root'@'%'IDENTIFIED BY'你的root密码';# 赋权GRANT ALL PRIVILEGES ON *.* TO'root'@'%'WITH GRANT OPTION;# 刷新FLUSH PRIVILEGES;# 重置远程密码ALTERUSER'root'@'%'IDENTIFIED BY'你的新密码';FLUSH PRIVILEGES;# 查看所有用户SELECT user, host, plugin FROM mysql.user;

验证参数信息

SHOW VARIABLES LIKE'%innodb_buffer_pool%';SHOW VARIABLES LIKE'slow_query_log%';

mysql 服务器启动失败状态为203/EXEC

对了关于Main PID: 9743 (code=exited, status=203/EXEC)介绍及其他解决方案

203/EXEC的含义

203/EXEC 表示 systemd 无法执行单元里指定的可执行文件(ExecStart 指向的路径) 。注意:它连 MySQL 都没启动起来,是 systemd fork 出去直接失败,所以这条日志里 不会有任何 MySQL 自己的错误日志 。

常见原因

原因说明
路径写错ExecStart 里的 /server/tools/mysql-9.7.2/bin/mysqld 拼错/不存在
无执行权限文件存在但没 x 位
SELinux 拦截文件的安全上下文不对,systemd 执行被拒
解释器/依赖缺失动态库缺失、/usr/bin/sh 之类解释器找不到

排查三步

看 systemd 到底想执行什么
systemctlcatmysqld

重点看 ExecStart= 这一行的 完整路径 ,和你磁盘上实际路径逐个字符对比。

验证这个路径真实可执行
ls-l/server/tools/mysql-9.7.2/bin/mysqldfile/server/tools/mysql-9.7.2/bin/mysqld

期望看到 -rwxr-xr-x 且 file 输出是 ELF 64-bit LSB executable。

如果权限不对

# 小白不推荐这样做(因为这样会引起上下文件权限不一,导致不能访问)chmod755/server/tools/mysql-9.7.2/bin/mysqldchownmysql:mysql /server/tools/mysql-9.7.2/bin/mysqld# 推荐chown-Rmysql:mysql /server
直接用 systemd 的身份跑一次
sudo-umysql /server/tools/mysql-9.7.2/bin/mysqld--version
  • 报 Permission denied → 权限或 SELinux
  • 报 command not found / No such file → 路径错,或软链接断了
  • 报 error while loading shared libraries → 缺动态库
  • 报 cannot execute binary file → 架构不匹配(比如 aarch64 包装到 x86 上)
  • 正常输出 mysqld Ver 9.7.2 → 那问题就在 SELinux 或 unit 配置

软链接/移动目录导致路径失效

readlink-f/server/tools/mysql-9.7.2/bin/mysqld

如果原安装目录被改名或挪过,这条会暴露出来。

SELinux 拦截

getenforcels-Z/server/tools/mysql-9.7.2/bin/mysqld

正确上下文应该是 bin_t 或 mysqld_exec_t。修复

semanage fcontext-a-tbin_t"/server/tools/mysql-9.7.2/bin(/.*)?"restorecon-Rv/server/tools/mysql-9.7.2/bin
快速验证是否 SELinux 引起的(临时切换后重启服务)
setenforce0systemctl restart mysqld# 起来了就是 SELinux 问题,处理完记得 setenforce 1
unit 里写了 Type=forking 但 mysqld 不支持

顺便看一眼 Type=。源码编译安装的推荐写法:

[Unit]Description=MySQL Server9.7.2After=network.target[Service]Type=simpleUser=mysqlGroup=mysqlExecStart=/server/tools/mysql-9.7.2/bin/mysqld --defaults-file=/server/tools/mysql-9.7.2/my.cnfRestart=on-failureLimitNOFILE=65535[Install]WantedBy=multi-user.target
重启
systemctl daemon-reload systemctl restart mysqld

另外:–initialize 那个问题还在
203/EXEC 解决后,你 还是会撞回上一轮的 data directory has files in it 。这两件事得一起处理:

# 先确认数据目录状态,彻底清空sudofind/data/mysql/datas-mindepth1-ls

把这条的输出、以及 systemctl cat mysqld 的结果发我,两条线一起定位。目前的判断是: 数据目录没清干净(上轮遗留)+ unit 的 ExecStart 路径或权限不对(本轮新增) 。

注意:这章节关于203/EXEC这些方法只提供建议性意见,因为小白并没结果真实的验证,所以不敢直言是正确的,只能说是按照这个方向去试着解决问题

结语

ok了,这就完了,自己玩去吧!小白就不陪您了!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/4 6:51:00

批量获取 LRC 歌词:163MusicLyrics 免费给本地音乐库配词

批量获取 LRC 歌词:163MusicLyrics 免费给本地音乐库配词 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 硬盘里几百首 MP3 一直没有歌词,逐首去网…

作者头像 李华
网站建设 2026/11/4 6:49:40

雾锁王国正式版一键联机开服服务器搭建教程

《雾锁王国》(Enshrouded)1.0正式版将于2026年10月15日登陆PC与PS5平台,支持最多16人联机合作。1.0版本对性能进行了大幅优化,低端设备也能流畅运行,游戏机制全面升级。自建专属服务器可实现724小时持续运行&#xff0…

作者头像 李华
网站建设 2026/11/4 6:48:41

2026年部署信创信息发布系统能解决哪些业务问题?五大业务痛点与国产化解决方案-优胜电子

政务信创改造持续推进,信息发布系统作为政务大厅政策公示、办事指引、宣传播报的核心载体,其信创国产化适配能力直接影响项目落地质量。结合当前政务信创项目实际推进情况,以下梳理五大业务痛点及对应的国产化解决方案。一、软硬件生态不兼容…

作者头像 李华
网站建设 2026/11/4 6:38:41

视觉评估新范式:VisionReward-Image如何破解AI创作的质量迷雾

视觉评估新范式:VisionReward-Image如何破解AI创作的质量迷雾 【免费下载链接】VisionReward-Image-bf16 项目地址: https://ai.gitcode.com/zai-org/VisionReward-Image-bf16 当AI生成图像的数量每18个月翻一番时,人类却陷入了"审美瘫痪&q…

作者头像 李华
网站建设 2026/11/4 6:33:01

verilog 有符号数和无符号数的转换

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华