[Linux]Mysql9.0.1服务端脱机安装配置教程(redhat)
前言
本教程适用于在yum源不可用的LInux主机上安装Mysql的场景。
以redhat系主机做操作示例,debian系主机可参照步骤,将对应的rpm -ivh命令换成dpkg -i。
1. 官网下载安装包
https://dev.mysql.com/downloads/mysql/
1.1 版本分类
MySQL Enterprise Edition:企业版(收费)
MySQL Cluster CGE:高级集群版(收费)
MySQL Community Edition:社区版(开源免费,但官方不提供技术支持)
一般我们使用社区版的。
在该页面中,可以选择5.0到9.0的各历史版本:https://downloads.mysql.com/archives/community/

1.2 查看主机版本
我使用的是redhat系的Linux服务器,因此Operating System(操作系统)一项选择“RedHat”。
OS Version一项有以下多个版本可选:

我们进入主机,输入以下命令查看版本号。
uname -a
你会看到类似以下的内容:
Linux 4.19.0-477.15.5.el8.mylinux.x86_64 #1 SMP Tue Aug 22 18:16:37 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
其中的el8表明你的主机是"Linux 8"的,x86_64,则对应选择x86,64-bit。
1.3 选择对应的版本进行下载
至此,我们选择了对应的版本。
筛选出来的安装包有大约20个,我们根据以下关键字,使用Ctrl+F快捷键,快速筛选下载6个安装包。
- mysql-community-client-9.0.1-1.el8.x86_64.rpm
- mysql-community-client-plugins-9.0.1-1.el8.x86_64.rpm
- mysql-community-common-9.0.1-1.el8.x86_64.rpm
- mysql-community-icu-data-files-9.0.1-1.el8.x86_64.rpm
- mysql-community-libs-9.0.1-1.el8.x86_64.rpm
- mysql-community-server-9.0.1-1.el8.x86_64.rpm
注:虽然我们只想安装Mysql服务端(即Mysql-server),但它依赖于其他的包,如果单独安装mysql-server,也会提示你安装其他的包,如下图所示。

二、在服务器上安装
2.1 按顺序安装
将6个安装包上传到服务器上。按照如下顺序安装。
sudo rpm -ivh mysql-community-common-9.0.1-1.el8.x86_64.rpm
sudo rpm -ivh mysql-community-client-plugins-9.0.1-1.el8.x86_64.rpm
sudo rpm -ivh mysql-community-libs-9.0.1-1.el8.x86_64.rpm
sudo rpm -ivh mysql-community-client-9.0.1-1.el8.x86_64.rpm
sudo rpm -ivh mysql-community-icu-data-files-9.0.1-1.el8.x86_64.rpm
sudo rpm -ivh mysql-community-server-9.0.1-1.el8.x86_64.rpm
2.2 安装完成后初步检查安装情况
输入如下命令
whereis mysql
whereis mysqld
如果返回的路径是空的,那么说明安装还有问题,请自己查看安装过程中的报错,常见的是安装顺序不对引起的安装失败。
如果返回了路径非空,说明mysql已经安装上了,如下图所示。

三、参数配置
3.1 创建data目录
mkdir ~/data
我计划把路径设置在家目录的data路径下,在这个路径新建好目录。
注:如果你新建到了别的目录,请注意使用ls -l查看目录的所有者和所有组是否为当前用户,否则可能会因为数据无权限写入导致的异常。
修改所有者所有组使用以下命令:
chown -R 当前用户:当前用户 data路径
假如我的用户名为wingaso,data路径为/home/wingaso/data,那么命令为:
chown -R wingaso:wingaso /home/wingaso/data
3.2 配置my.cnf
sudo vi /etc/my.cnf
将其中的datadir改为指向刚刚创建的data目录路径。
log-error指定了mysqld的日志路径,在这个日志中记录了mysql服务端启动与运行时的相关异常信息,可以改到用户家目录下,或者保持原路径不变也可以。
注:修改该文件需要sudo权限。
3.3 初始化mysql
mysqld --initialize
这个命令没有返回的内容。我们可以通过ls命令查看data目录是否生成文件,来初步确认命令是否创建成功。
ls data
看到如下内容:

如果使用ls命令查看到data目录下是空的,那么请检查data路径的权限,可参照以下命令进行权限和所有组的更改。
chmod 755 data
chown -R wingaso:wingaso data
3.4 所有者修改
如果你当前用户名是mysql,那么你可以跳过本次操作。
否则必须进行修改,因为mysql安装后默认所有者所有组均为mysql(如下图所示),如果不修改,会导致mysql因权限问题无法正常启动。


如下图,所有者问题,会导致sock.lock文件无法创建,mysqld启动失败。

3.4.1 目录/文件所有者修改
cd /var/run/
sudo chown -R wingaso:wingaso mysql*
cd /var/lib/
sudo chown -R wingaso:wingaso mysql*
cd /var/log/
sudo chown -R wingaso:wingaso mysql*
将以上命令粘贴执行即可,注意修改需要sudo权限。
修改后可以通过ls -l命令查看所有者变更情况:
ls -l /var/run/
ls -l /var/lib/
ls -l /var/log/
3.4.2 mysqld.service所有者修改
sudo vi /usr/lib/systemd/system/mysqld.service
这个文件中User和Group默认为"mysql",如果你的当前用户名不是mysql,那么以服务方式启动mysql将会报错。需要将其中的User和Group改为当前用户名,如下图所示。

修改后保存,再使用如下语句重新加载配置。
sudo systemctl daemon-reload
3.5 启动mysql
sudo systemctl restart mysqld
如果上边的步骤都操作无误,那么将会成功运行起来,否则将会出现以下报错。

3.5.1 运行报错处理
运行建议命令
sudo systemctl status mysqld.service
你应该会看到类似以下的报错信息

对于该信息,其中我们只能初步得知是权限问题,但想单从这个报错中看出是哪里的权限问题,简直是天方夜谭。
关键还是得看mysqld.log文件中的详细报错信息。
tail -n 500 /var/log/mysqld.log
注:如果你在配置my.cnf时,已将error-log改为了自定义路径,请在对应路径查看日志信息。
3.6 安全配置
3.6.1 获取初始密码
在运行mysqld --initialize后,初始密码会保存在mysqld.log文件中,通过以下命令可以找出该密码。
grep 'temporary password' /var/log/mysqld.log
执行结果如下图所示。

注:如果mysqld --initialize执行过多次,那么可能会查找出多个初始密码,应以最后一个初始密码为准。
3.6.2 进行安全配置
sudo mysql_secure_installation
运行该命令,会提示输入密码,将刚刚获取到的初始密码输入,便可进入配置对话。
该命令会对以下几个内容进行设置:
- 为root用户设置密码
- 删除匿名账号
- 取消root用户远程登录
- 删除test库和对test库的访问权限
- 刷新授权表使修改生效
请根据实际情况进行设置。
注:如果运行该命令,出现如下报错(Can’t connect to local Mysql server through socket ‘/var/lib/mysql/mysql.sock’),那么一般是mysql没有启动引起的,请参照3.5节启动mysql,再宠幸执行该命令。

四、验证
mysql -uroot -p
<输入密码>
show databases;
如果能够成功登录到mysql并进行数据库操作,说明mysql已经安装完成。安装配置便大功告成了。
五、其他
如果需要主从部署,那么需要在主从主机上按照以上步骤将Mysql安装完成后,再对Mysql进行专门的主从配置。这部分将会在另一篇文章中细说,敬请期待。
参考
MySQL 在 Windows 下安装教程、避坑指南
Mysql安全启动配置向导——mysql_secure_installation(生产环境必做的设置)
相关文章:
[Linux]Mysql9.0.1服务端脱机安装配置教程(redhat)
前言 本教程适用于在yum源不可用的LInux主机上安装Mysql的场景。 以redhat系主机做操作示例,debian系主机可参照步骤,将对应的rpm -ivh命令换成dpkg -i。 1. 官网下载安装包 https://dev.mysql.com/downloads/mysql/ 1.1 版本分类 MySQL Enterprise…...
uniapp--HBuilder开发
提示:本文为学习内容,若有错误,请联系作者,谦虚受教。 文章目录 前言一、下载HBuilder二、添加modbus相关库1.下载nodejs2.下载modbus库3.项目添加modbus库 三、HBuilder相关功能语句1.文件夹说明2.消息信息框3.开关按钮4.选中按钮…...
计算机毕业设计学习项目-P10080 基于springboot+vue的社团管理系统的设计与实现
项目说明 本号所发布的项目均由我部署运行验证,可保证项目系统正常运行,以及提供完整源码。 如需要远程部署/定制/讲解系统,可以联系我。定制项目未经同意不会上传! 项目源码获取方式放在文章末尾处 注:项目仅供学…...
with as提高sql的执行效率
实战sql with cte(UNIT_ID, UNIT_NAME, PARENT_UNIT_ID, UNIT_CODE ) as (select UNIT_ID, UNIT_NAME, PARENT_UNIT_ID , UNIT_CODEfrom HPFM_UNITunion allselect t.UNIT_ID, t.UNIT_NAME, t.PARENT_UNIT_ID, t.UNIT_CODEfrom HPFM_UNIT tjoin cte on t.PARENT_UNIT_ID cte.U…...
【银河麒麟高级服务器操作系统实例】tcp半链接数溢出分析及处理全过程
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://document.kylinos.cn 服务器环境以及配置 系统环境 物理机/虚拟机/云…...
计算机毕业设计Python中华古诗词知识图谱可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析模型 自然语言处理NLP 机器学习 深度学习
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
分布式ID生成-雪花算法实现无状态
雪花算法这里不再赘述,其缺点是有状态(多副本隔离时,依赖手动配置workId和datacenterId),代码如下: /*** 雪花算法ID生成器*/ public class SnowflakeIdWorker {/*** 开始时间截 (2017-01-01)*/private st…...
【问题】配置 Conda 与 Pip 源
通常情况下,使用 conda 命令或者 pip 命令都是从国外的服务器上下载需要的模块包的,这在网速不佳的情况下会消耗大量的时间。所以这里建议更换国内的源来进行模块下载,速度会大大提升。 具体方法如下: 打开命令行 cmd 工具,输入以下命令。 ① Conda 换源 conda config…...
Zookeeper是如何保证事务的顺序一致性的?
大家好,我是锋哥。今天分享关于【Zookeeper是如何保证事务的顺序一致性的?】面试题。希望对大家有帮助; Zookeeper是如何保证事务的顺序一致性的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Zookeeper 通过多个机制来保证事务的顺序一…...
东土科技参股广汽集团飞行汽车初创公司,为低空经济构建新型产业生态
近日,广汽集团旗下专注于飞行汽车领域的初创公司广东高域科技有限公司于2024年12月31日正式成立,在穿透后的股东信息中,东土科技通过广州瓴云科技投资合伙企业(有限合伙)赫然在列。 此前12月18日,广汽集团…...
Oracle 中的各种名称(*_name)参数的含义与作用
Oracle 中的各种名称(*_name)参数的含义与作用 目录 Oracle 中的各种名称(*_name)参数的含义与作用一、数据库名:db_name二、数据库所在的域:db_domain三、全局数据库名:global_name四、服务名&…...
前端页面的内容格式
TaskBuilder可以编辑的前端页面类型分为HTML和tfp(Taskmsg Front Page)两种格式,HTML格式只能用代码编辑器编辑,这种模式基本很少有人用,大家都用tfp格式,因为使用TaskBuilder向导创建的前端页面都是采用的…...
数据库1-4讲
各种名词区分 内模式也叫物理模式、存储模式。 概念模式也叫全局模式、逻辑模式。 外模式也叫用户模式。 笛卡尔积:D1、D2、D3集合中任取一个的所有可能情况。 因此上述笛卡尔积的基数22312 关系模型的三个完整性: 实体完整性&#x…...
设计模式 行为型 命令模式(Command Pattern)与 常见技术框架应用 解析
命令模式(Command Pattern)是一种行为型设计模式,它旨在将请求发送者和接收者解耦,通过将一个请求封装为一个对象,从而允许参数化客户端对象以进行不同的请求、排队请求或记录请求,并支持可撤销操作。 在软…...
【Redis】简介|优点|使用场景|为什么Redis快
目录 一、简介 二、特性(优点) 三、使用场景 一、简介 内存中存储数据的中间件,用于数据库,数据缓存,在分布式系统中能够大展拳脚 中间件:应用程序可以直接从 Redis 中获取数据,而不必频繁地…...
Clisoft SOS与CAD系统集成
Clisoft SOS与CAD系统集成 以下内容大部分来自官方文档,目前只用到与Cadence Virtuoso集成,其他还未用到,如有问题或相关建议,可以留言。 与Keysight ADS集成 更新SOS客户端配置文件sos.cfg,以包含支持ADS的模板&am…...
【linux系统之redis6】redis的安装与初始化
下载redis的linux对应的安装包,并上传到linux虚拟机里面 解压压缩包 tar -zxzf redis-6.2.6.tar.gz解压后,进入redis文件 cd redis-6.2.6执行编译 make && make install看到下图,就说明redis安装成功了 默认的安装路径,…...
Backend - EF Core(C# 操作数据库 DB)
目录 一、EF Core 1. 使用的ORM框架(对象关系映射) 2. EFCore 常见两种模式 3. EFCore 提供程序 二、 EF 操作数据库(Code First) 1. 下载NuGet插件 2.创建模型类文件 3.创建DBContext文件 4.Programs.cs文件 5.appsettings.Devel…...
WebSocket 性能优化:从理论到实践
在前四篇文章中,我们深入探讨了 WebSocket 的基础原理、服务端开发、客户端实现和安全实践。今天,让我们把重点放在性能优化上,看看如何构建一个高性能的 WebSocket 应用。我曾在一个直播平台项目中,通过一系列优化措施,将单台服务器的并发连接数从 1 万提升到 10 万。 性能挑…...
我用AI学Android Jetpack Compose之入门篇(2)
我跑成功了第一个Compose应用,但我还是有很多疑问,请人工智能来解释一下吧。答案来自 通义千问 文章目录 1.请解释一下Compose项目的目录结构。根目录模块目录(通常是app)app/build.gradleapp/src/mainapp/src/main/uiapp/src/ma…...
AntiDupl.NET:彻底清理重复图片的终极免费解决方案
AntiDupl.NET:彻底清理重复图片的终极免费解决方案 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾因电脑中堆积如山的重复照片而烦恼?…...
YOLOv8智慧园区应用:多目标协同检测部署
YOLOv8智慧园区应用:多目标协同检测部署 1. 项目概述 在现代智慧园区管理中,如何快速准确地识别和统计园区内的各类物体是一个关键挑战。传统的人工巡查方式效率低下,而基于深度学习的多目标检测技术为这一问题提供了智能化的解决方案。 本…...
ArcGIS新手必看:用‘镶嵌至新栅格’搞定不同分辨率DEM的无缝拼接(附像素类型避坑点)
ArcGIS DEM融合实战:从参数原理到完美拼接的完整指南 当你第一次尝试将不同分辨率的DEM数据拼接在一起时,那种"平地起高楼"的突兀感可能让你抓狂——低分辨率区域像模糊的马赛克,而高精度部分则像孤岛般突兀隆起。这不是你操作的问…...
零基础部署Ostrakon-VL-8B:餐饮零售视觉AI,一键搭建企业级智能巡检平台
零基础部署Ostrakon-VL-8B:餐饮零售视觉AI,一键搭建企业级智能巡检平台 1. 为什么餐饮零售企业需要视觉AI? 想象一下这样的场景:你是一家连锁餐饮店的区域经理,手下管理着20家门店。每天,店长们会通过微信…...
简报:2026年3月具身智能机器人融资情况
2026年3月,国内具身智能机器人赛道迎来融资热潮,在政策东风产业加速的双重驱动下,融资数量、金额、单笔规模均创历史新高,呈现出“大额融资密集、头部效应凸显、全产业链覆盖” 的爆发态势。具身人工智能(E-AI…...
uniapp消息推送权限处理指南:如何优雅地引导用户开启通知权限
Uniapp消息推送权限优化实战:从检测到引导的全链路设计 移动应用的消息推送功能直接影响用户活跃度和留存率,但很多开发者忽略了权限引导这一关键环节。据统计,超过40%的用户首次安装应用时会默认关闭通知权限,导致重要消息无法触…...
UniCloud前端网页托管+阿里云:如何绕过小程序审核,用H5快速迭代你的应用?
UniCloud阿里云混合开发实战:H5动态更新与小程序无缝整合方案 微信小程序审核周期长、更新受限是许多开发者面临的痛点。本文将介绍一种创新解决方案:通过UniCloud前端网页托管结合阿里云域名服务,构建可动态更新的H5应用,再借助小…...
CSS Grid布局如何实现网格项目排序_使用order属性改变显示顺序
order属性仅改变视觉顺序,不影响DOM、Tab键序、屏幕阅读器读取及SEO;其排序按负数>0>正数组分组,组内依HTML顺序;仅对网格直接子元素生效,需避免嵌套布局干扰和响应式重排抖动。order属性只影响视觉顺序…...
【GUI-Agent】阶跃星辰 GUI-MCP 解读---()---HITL(Human In The Loop)贡
插件化架构 v3 版本最大的变化是引入了模块化插件系统。此前版本中集成在核心包里的原生功能,现在被拆分成独立的插件。 每个插件都是一个独立的 Composer 包,包含 Swift 和 Kotlin 代码、权限清单以及原生依赖。开发者只需安装实际用到的插件࿰…...
软件实施交付转运维学习第五天:用户管理和权限管理
今天是软件实施交付转运维学习的第五天。前面四天我们分别了解了运维的基本概念、Linux常用命令。今天,我们进入一个既基础又极其重要的模块——用户管理和权限管理。无论是操作系统层面,还是应用系统层面,用户和权限都是安全的基石。谁可以访…...
