CentOS 离线安装部署 MySQL 8详细教程

news2025/1/15 17:31:01

1、简介

MySQL是一个流行的开源关系型数据库管理系统(RDBMS),它基于SQL(Structured Query Language,结构化查询语言)进行操作。MySQL最初由瑞典的MySQL AB公司开发,后来被Sun Microsystems公司收购,最终成为甲骨文公司(Oracle Corporation)的一部分。

2、资源下载

2.1、查看 CentOS 版本

# 显示Linux标准基础(Linux Standard Base,LSB)的版本信息
lsb_release -a

2.2、下载 MySQL

MySQL 社区版下载链接

在这里插入图片描述

2.3、Oracle 帐户,方便下载

# 提醒:为了大伙的方便,请不要随便用该邮箱重新注册Oracle账号!
账号:yawoniu@163.com
密码:Oracle.123

2.4、卸载 MariaDB(按需操作)

# 停止 MariaDB 服务
systemctl stop mariadb

# 卸载 MariaDB 服务
yum remove mariadb-server

# 清理依赖包
yum list installed | grep mariadb
yum remove mariadb-libs

# 删除配置文件和数据目录
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql

# 清理残留文件
find / -name '*mysql*'

# 验证卸载
yum list installed | grep mariadb

3、安装 MySQL

3.1、创建目录

# 创建 MySQL 工作目录
mkdir -p /usr/local/app/mysql

3.2、解压文件

# 上传 MySQL 安装包到指定文件并解压
tar xvf mysql-8.0.38-1.el7.x86_64.rpm-bundle.tar

3.3、安装 MySQL

# 安装 MySQL 软件包
# -i:安装软件包。
# -v:在安装过程中显示详细的输出信息。
# -h:显示安装进度条。
# *.rpm:通配符 * 表示匹配当前目录下所有以 .rpm 结尾的文件,表示要安装所有以 .rpm 结尾的软件包。
# --nodeps:在安装软件包时不检查依赖关系。这意味着即使软件包的依赖关系未满足,也会强制安装。
# --force:强制安装软件包,即使已经安装了相同版本的软件包。
# rpm -ivh *.rpm
#  --nodeps --force  最好不强制安装,查看一下以来,先删除已有mysql版本(包括mariadb)

# 按顺序依次执行
rpm -ivh mysql-community-common-*.rpm
rpm -ivh mysql-community-client-plugins-*.rpm
rpm -ivh mysql-community-libs-*.rpm
rpm -ivh mysql-community-client-8*.rpm
rpm -ivh mysql-community-icu-data-files-*.rpm
rpm -ivh mysql-community-server-*.rpm

# 缺少 openssl-devel,使用如下命令安装一下就可以了
yum install openssl-devel -y

# 查看 MySQL 安装情况
systemctl status mysqld

3.4、配置 MySQL

# 编辑配置文件
vi /etc/my.cnf

复制以下内容

# 服务器唯一ID,默认是1
server-id=1

# 启用二进制日志
log-bin=mysql-bin

# 最大连接数 
max_connections=10000

# 设置默认时区
default-time_zone='+8:00'

# 0:区分大小写
# 1:不区分大小写
lower_case_table_names=1

3.5 开机自启动

# 启动 MySQL 服务
systemctl start mysqld

# 停止 MySQL 服务
systemctl stop mysqld

# 重启 MySQL 服务
systemctl restart mysqld

# 设置开机自启动
systemctl enable mysqld

# 验证自启动设置,如果服务已设置为自启动,该命令将输出 enabled
systemctl is-enabled mysqld

# 查看服务状态
systemctl status mysqld

# 禁用自启动(如果需要)
systemctl disable mysqld

3.6、更改加密规则

第一步,初始化登录密码,需要满足强密码要求的密码

# 拿到初始密码(若在my.cnf修改了路径,按my.cnf路径来)
grep password /var/log/mysqld.log

# mysql 登录
mysql -u root -p

# 登录后必须先改密码,否则其他操作无法进行,需要满足强密码要求的密码(密码改成自己的)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd!@##';

# mysql 8.0.13以后的版本授权指令要分开执行
# 1、查看目前用户的 host
select user,host from mysql.user;
# 2、修改用户 host
update mysql.user set host='%' where user='root';
# 3、给予远程用户所有表所有权限
GRANT ALL ON *.* TO 'root'@'%' with grant option;

# 远程访问(密码改成自己的)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'P@ssw0rd!@##';
 
# 刷新权限
flush privileges;

3.7、环境测试

在这里插入图片描述

本文教程到此结束,祝愿小伙伴们在编程之旅中能够愉快地探索、学习、成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1897065.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个开源的、独立的、可自托管的评论系统,专为现代Web平台设计

大家好,今天给大家分享的是一个开源的、独立的、可自托管的评论系统,专为现代Web平台设计。 Remark42是一个自托管的、轻量级的、简单的(但功能强大的)评论引擎,它不会监视用户。它可以嵌入到博客、文章或任何其他读者…

Eclipse配置Tomcat时无Apache选项问题

有可能你会遇到,安装最新版本Eclipse,但是 Window——Preferences——Servers——Runtime Environments。发现没有Apache选项。,这是因为,默认没有安装J2EE组件,我们可以通过手动安装,来解决这个问题。 一…

哪些场景下可以更好地使用行列视(RCV)报表工具呢?

行列视产品是我们公司自主研发的一套基于HTML5技术的Excel式web生产报表应用系统,这款产品定位于发电企业生产指标的收集、报表制作和指标报表可视化,是国内首套专业化、自助化、智能化的生产指标管理及分析应用平台。功能强大但是却简单易用。 这款产品…

react_web自定义组件_多类型Modal_搜索栏Search

目录 一、带输入框的Modal 二、提示框Modal 三、搜索栏Search 在做项目时引入一些现成的UI组件,但是如果和设计图冲突太大,更改时很麻烦,如果自己写一个通用组件其实也就几十分钟或者几个小时,而且更具UI设计更改也比较好更改&…

win11如何关闭自动更新,延长暂停更新时间

网上有很多关闭自动更新的方法,今天给大家带来另一种关闭win11自动更新的方法。 1.winR打开运行窗口,输入regedit打开注册表 2.定位到以下位置: 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 3.右键右边空白&…

使用kali Linux启动盘轻松破解Windows电脑密码

破解分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。谢谢!! 效果展示: 使用kali Linux可以轻松破解Windows用户及密码 准备阶段: &#xff08…

Dungeonborne卡顿怎么办 快速解决Dungeonborne卡顿问题

随着Dungeonborne游戏剧情的深入,玩家将逐渐解锁更多的地图和副本,每个区域都有其独特的生态和敌人。在探索的过程中,玩家不仅可以获得强大的装备和道具,还能结识到志同道合的伙伴,共同面对更强大的敌人。不过也有玩家…

【项目实践】贪吃蛇

一、游戏效果展示二、博客目标三、使用到的知识四、Win32 API 介绍 4.1 WIn32 API4.2 控制台程序4.3 控制屏幕上的坐标COORD4.4 GetStdHandle4.5 GetConsoleCursorInfo 4.5.1 CONSOLE_CURSOR_INFO 4.6 SetConsoleCursorInfo4.7 SetConsoleCursorPosition4.8 GetAsyncKeyState 五…

vue3+electron项目搭建,遇到的坑

我主要是写后端,所以对前端的vue啊vue-cli只是知其然,不知其所以然 这样也导致了我在开发前端时候遇到了很多的坑 第一个坑, vue2升级vue3始终升级不成功 第二个坑, vue add electron-builder一直卡进度,进度条走完就是不出提示succes 第一个坑的解决办法: 按照网上说的升级v…

如何通过KB知识库系统实现内部知识的管理

“Baklib 通过构建KB知识库系统实现内部知识的管理,构建 CMS 系统实现网站内容管理,构建 DAM 实现对原子化数字内容的管理。” Baklib 从多个维度和深度实现对数字内容的管理。 CMS 系统 CMS 系统(Content Management System 内容管理系统)是一种帮助用…

什么是 HTTP POST 请求?初学者指南与示范

在现代网络开发领域,理解并应用 HTTP 请求 方法是基本的要求,其中 "POST" 方法扮演着关键角色。 理解 POST 方法 POST 方法属于 HTTP 协议的一部分,主旨在于向服务器发送数据以执行资源的创建或更新。它与 GET 方法区分开来&…

智能升级,监控无界——全新安全生产生态算法一体机上线

安全生产生态算法一体机 安全生产生态算法一体机是万物纵横推出的一款AI算法软硬一体生态产品,重点面向安全生产领域,采用BM1684强劲AI芯片,内置安全生产场景所需的多种专用AI算法,面向各场景的人员监控、规范作业、异常检测等应…

Nginx 常用配置与应用

Nginx 常用配置与应用 官网地址:https://nginx.org/en/docs/ 目录 Nginx 常用配置与应用 Nginx总架构 正向代理 反向代理 Nginx 基本配置反向代理案例 负载均衡 Nginx总架构 进程模型 正向代理 反向代理 Nginx 基本配置反向代理案例 负载均衡 Nginx 基本配置…

基于AGX ORIN与FPGA K7实现PCIE高速数据通信/Orin与FPGA高速数据传输/XDMA在linux系统使用教程

因最近想学习AGX orin和FPGA实现数据高速通信,借此机会和大家一起学习AGX orin和FPGA 制作不易,记得三连哦,给我动力,持续更新!!! 完整工程文件下载:AGX orin与FPGA实现PCIE完整…

如何查看MCU编译生成的elf(out)文件内容

一般地,我们想要知道单片机程序编译完后的结构我们可以查看map文件或者是elf/out文件,map文件不能看函数的汇编格式,只能查看编译完成后变量、代码的地址和占用空间大小,而elf文件里面更加详细,还包含了函数的汇编&…

gen_region_line 生成直线

gen_region_line (Operator) Name 名称 gen_region_line — Store input lines as regions.将输入行存储为region。 生成直线,直线区域 Signature 签名 gen_region_line( : RegionLines : BeginRow, BeginCol, EndRow, EndCol : ) Description 描述 运算符ge…

半导体切割研磨废水的处理技术

半导体切割研磨废水处理是一个复杂而关键的过程,其废水主要来源于切割、研磨等工艺环节,这些过程中使用的化学品、冷却水、洗涤水等会产生含有重金属、有机物、酸碱度不稳定以及高浓度硅化合物等污染物的废水。针对这些废水的特性,半导体行业…

基于SpringBoot的就业信息管理系统

你好,我是计算机学姐码农小野!如果你对就业信息管理系统感兴趣或有相关需求,欢迎私信联系我。 开发语言: Java 数据库: MySQL 技术: SpringBootMySql 工具: MyEclipse、Tomcat 系统展示…

深入分析 Android BroadcastReceiver (九)

文章目录 深入分析 Android BroadcastReceiver (九)1. Android 广播机制的扩展应用与高级优化1.1 广播机制的扩展应用1.1.1 示例:有序广播1.1.2 示例:粘性广播1.1.3 示例:局部广播 1.2 广播机制的高级优化1.2.1 示例:使用 Pending…

筛选有合并单元格的数据

我们经常会使用合并单元格,比如下面表格,因为一个部门中会有不同的员工,就会出现如下表格: 但是当按部门去筛选的时候,会发现并不是我们预期的结果,部门列有空值,每个部门只有第一行数据可以被…