Centos环境下安装/重装MySQL完整教程
目录
一、卸载残留的MySQL环境:
二、安装MySQL:
1、下载MySQL官方的yum源:
2、更新系统yum源:
3、确保系统中有了对应的MySQL安装包:
4、安装MySQL服务:
5、密钥问题安装失败解决方法:
三、验证安装、使用:
1、验证MySQL安装:
2、启动MySQL服务:
3、更改MySQL配置文件并登录MySQL:
四、验证C语言链接:
一、卸载残留的MySQL环境:
这一步是之前在系统中安装过MySQL,或者Linux是直接买的云服务器而不是虚拟机的才需要看,如果在此之前系统未安装过MySQL的可以直接跳到第二标题开始看。
在安装与卸载的时候,因为一些权限问题,所以最好直接使用root进行所有的操作,下图是我自己的虚拟机,已经安装过MySQL的来进行演示:
可以通过上图的演示命令查询一下系统中是否有安装过MySQL或者是否有正在运行的MySQL服务,如果有,那么先关闭对应的正在运行的服务:
1、在命令行中输入下面这行指令停止MySQL服务:
systemctl stop mysqld
2、检查并卸载系统中默认的MySQL安装包
检查系统中默认的MySQL安装包:
rpm -qa | grep mysql
将上图的默认安装包全部卸载掉:
输入以下命令进行批量化卸载(懒得一个一个卸载了):
rpm -qa | grep mysql | xargs yum -y remove
卸载完成后可以再次使用rpm -qa | grep mysql命令来查一下,正常情况下就是全部没了的。
然后可以再确认一下进程,是没有MySQL服务在运行的了,其次,可以检查一下 /etc目录下有没有对应的MySQL配置文件my.cnf,正常情况下就都是没有的了。
那到这里,对应的环境就是卸载干净的了,可以正式开始MySQL的安装了。
二、安装MySQL:
1、下载MySQL官方的yum源:
首先先查询自己系统的版本号:例如下图我这里的是centos7.9
然后打开下面这个MySQL官方的yum源网址,找到符合自己系统的MySQLyum源:
http://repo.mysql.com/
打开网址后页面显示可能不太完整,可以直接右键查看页面源代码,可以将细节显示的全一点,这里我以最常用的MySQL5.7版本为演示,然后以你的系统版本为准,上图我的系统版本是7.9,所以我这里就下载7.9的yum源:
然后再使用rz命令将你下载的yun源上传到你的centos系统上去,自己建个目录放进去,如图显示就是:
2、更新系统yum源:
进到你传上来的MySQLyum源的目录中,输入以下命令:
rpm -ivh 你下载的MySQLyum源的全名 例如:rpm -ivh mysql57-community-release-el7-9.noarch.rpm
3、确保系统中有了对应的MySQL安装包:
使用如下命令查看系统是否有了对应MySQL的安装包
ls /etc/yum.repos.d/ -al
如果没有MySQL的yum源,那确认一下前面安装MySQLyum源的操作是否正确执行。
4、安装MySQL服务:
在上述工作做完了后,就可以正常安装MySQL了:
yum install -y mysql-community-server
5、密钥问题安装失败解决方法:
因为我这里是之前安装MySQL的时候安装过密钥的,所以没法展示安装MySQL失败的情况,第一次安装MySQL的时候可能会遇上MySQL安装失败,因为没有检索到系统有对应的MySQL密钥,这个在我第一次安装MySQL的时候遇到过,如果你也遇上了的话就输入下面这个命令:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
然后再重新执行install命令重新安装一下MySQL就可以了。
三、验证安装、使用:
1、验证MySQL安装:
安装完成之后可以查看一下在/etc目录下是否存在my.cnf文件,是否有对应的mysqld服务端的应用程序,mysql客户端应用程序:
2、启动MySQL服务:
启动sql服务:
systemctl start mysqld
启动后可以查看MySQL服务是否正在运行:
3、更改MySQL配置文件并登录MySQL:
正常登录MySQL的指令如下:
mysql -h 登录用户的IP -P 端口号 -u 登录的用户名 -p
但是如果像我一样只做个人学习用的话,可以更改MySQL的配置文件,让登录没那么麻烦,如下
使用vim打开MySQL的配置文件:
vim /etc/my.cnf
在文件中加入以下文本(可一键复制):
skip-grant-tables #跳过密码认证环节,就是不用输密码,直接按回车即可登录
port=3306 #设置默认端口号
character-set-server=utf8 #设置server端的编码格式
default-storage-engine=innodb #设置默认存储引擎
然后重启MySQL:
systemctl restart mysqld
登录MySQL:
mysql -u root -p
然后即可使用MySQL服务了,要是你想让MySQL服务开机自启动的话可以输入一下两行命令,但是如果是云服务器的话不用那么麻烦,因为云服务器本来也不会关机:
systemctl enable mysqld
systemctl daemon-reload
四、验证C语言链接:
第一:使用C语言连接数据库首先得保证在/usr/include目录下存在mysql文件夹,该文件夹里包含着对应的mysql头文件,这个一般要自己安装对应的开发包工具:
yum install -y mysql-devel
然后安装完之后一般就会在/usr/include文件夹下有mysql文件夹,mysql文件夹下就会有对应的MySQL头文件
第二:查看lib64目录下有没有对应的MySQL打包好的动静态库,这个在上面安装MySQL服务的时候是已经一并安装了的了,如果没有那么确保一下MySQL服务有没有正确安装:
ls /lib64/mysql/
都有的话,那么可以编写一个简单的C++程序来验证是否可以正常链接:
#include <iostream>
#include <mysql/mysql.h>int main()
{std::cout<<"mysql client version: " << mysql_get_client_info() << std::endl;return 0;
}
mysql_get_client_info()函数,MySQL库带的函数,返回当前MySQL服务的版本号。
声明:上面代码的文件名为test.cc 形成可执行文件的名字为mytest, -L指明头文件所在的路径,-l指明对应哪个库。
g++ -o mytest test.cc -L/lib64/mysql -lmysqlclient
好了,正常到这里MySQL服务就算是正常安装完成,也能正常登录使用了,如果有什么其他问题再一起讨论吧。
相关文章:

Centos环境下安装/重装MySQL完整教程
目录 一、卸载残留的MySQL环境: 二、安装MySQL: 1、下载MySQL官方的yum源: 2、更新系统yum源: 3、确保系统中有了对应的MySQL安装包: 4、安装MySQL服务: 5、密钥问题安装失败解决方法: …...

【Linux】环境变量完全解析
9.环境变量 文章目录 9.环境变量一、命令行参数二、获取环境变量程序中获取环境变量1. 使用命令行参数2. 使用系统调用函数getenv("字符串");3. 使用系统提供的全局变量environ 命令行中查询环境变量 三、常见环境变量1. HOME2. OLDPWD3. PATH4. SHELL 四、环境变量与…...
【Java】mybatis-plus乐观锁-基本使用
乐观锁(Optimistic Locking)是解决并发问题的重要机制。它通过在数据更新时验证数据版本来确保数据的一致性,从而避免并发冲突。与悲观锁不同,乐观锁并不依赖数据库的锁机制,而是通过检查数据的版本或标志字段来判断数…...

力扣每日一题——找到离给定两个节点最近的节点
目录 题目链接:2359. 找到离给定两个节点最近的节点 - 力扣(LeetCode) 题目描述 解法一:双指针路径交汇法 基本思路 关键步骤 为什么这样可行呢我请问了? 举个例子 特殊情况 Java写法: C写法&a…...
机器学习与深度学习03-逻辑回归01
目录 上集回顾1. 逻辑回归与线性回归的区别2.逻辑回归的常见目标函数3.逻辑回归如何分类4.Sigmoid函数详解5.逻辑回归模型的参数 上集回顾 上一节文章地址:链接 1. 逻辑回归与线性回归的区别 应用领域 线性回归通常⽤于解决回归问题,其中⽬标是预测⼀…...

卷积神经网络(CNN)入门学习笔记
什么是 CNN? CNN,全称 卷积神经网络(Convolutional Neural Network),是一种专门用来处理图片、语音、文本等结构化数据的神经网络。 它模仿人眼识别图像的方式: 从局部到整体,一步步提取特征&a…...
【优笔】基于STM32的多模态智能门禁系统
代码功能详细描述 该代码实现了一个基于STM32的多模态智能门禁系统,整合密码、指纹、人脸识别(预留)三种验证方式,并提供完善的管理功能。系统架构如下图所示: #mermaid-svg-Uufpcoeo5Lega096 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size…...
Metasploit工具使用详解(上)丨小白WEB安全入门笔记
Metasploit工具使用详解(上)丨小白WEB安全入门笔记 一、课程定位与工具概述 课程性质: 小白WEB安全入门课程聚焦基础操作,非深度专题(Metasploit专题可讲数十节课)目标:掌握基本概念和简单漏洞利用 Metasploit核心定…...
Femap许可证与网络安全策略
随着科技的快速发展,网络安全问题已成为各行各业关注的焦点。在电磁仿真领域,Femap作为一款领先的软件,其许可证的安全性和网络策略的重要性不言而喻。本文将探讨Femap许可证与网络安全策略的关系,确保您的电磁仿真工作能够在一个…...

VLAN的作用和原理
1. 为什么要有vlan? 分割广播域,避免广播风暴,造成网络资源的浪费 可以灵活的组网,便于管理,同时还有安全加固的功能 2. vlan是怎么实现的?端口的原理? 设置VLAN后,流量之间的转…...

深入探讨集合与数组转换方法
目录 1、Arrays.asList() 1.1、方法作用 1.2、内部实现 1.3、修改元素的影响 1.4、注意事项 2、list.toArray() 2.1、方法作用 2.2、内部实现 2.3、修改元素的影响 2.4、特殊情况 1、对象引用 2、数组copy 3、对比总结 4、常见误区与解决方案 5、实际应用建议…...
让大模型看得见自己的推理 — KnowTrace结构化知识追踪
让大模型“看得见”自己的推理 —— KnowTrace 结构化知识追踪式 RAG 全解析 一句话概括:把检索-推理“改造”成 动态知识图构建任务,再让 LLM 只关注这张不断精炼的小图 —— 这就是显式知识追踪的核心价值。 1. 背景:为什么 RAG 仍难以搞定多跳推理? 长上下文负担 传统 I…...

【HarmonyOS 5应用架构详解】深入理解应用程序包与多Module设计机制
⭐本期内容:【HarmonyOS 5应用架构详解】深入理解应用程序包与多Module设计机制 🏆系列专栏:鸿蒙HarmonyOS:探索未来智能生态新纪元 文章目录 前言应用与应用程序包应用程序的基本概念应用程序包的类型标识机制应用安装流程 应用的…...

【Oracle】DCL语言
个人主页:Guiat 归属专栏:Oracle 文章目录 1. DCL概述1.1 什么是DCL?1.2 DCL的核心功能 2. 用户管理2.1 创建用户2.2 修改用户2.3 删除用户2.4 用户信息查询 3. 权限管理3.1 系统权限3.1.1 授予系统权限3.1.2 撤销系统权限 3.2 对象权限3.2.1…...

MySQL强化关键_017_索引
目 录 一、概述 二、索引 1.主键索引 2.唯一索引 3.查看索引 4.添加索引 (1)建表时添加 (2)建表后添加 5.删除索引 三、树 1.二叉树 2.红黑树 3.B树 4.B树 (1)为什么 MySQL 选择B树作为索引…...
stm32——SPI协议
stm32——SPI协议 STM32的SPI(Serial Peripheral Interface,串行外设接口)协议是一种高速、全双工、同步的串行通信协议,广泛评估微控制器与各种外设(如传感器、器件、显示器、模块等)之间的数据传输。STM3…...
Linux 下如何查看进程的资源限制信息?
简介 Linux 上的 cat /proc/$pid/limits 命令提供有关特定进程的资源限制的信息,其中 $pid 是相关进程的进程 ID (pid)。该文件是 /proc 文件系统的一部分,该文件系统是一个虚拟文件系统,提供有关进程和系统资源的信息…...

【备忘】php命令行异步执行超长时间任务
环境说明: 操作系统:windows10 IDE:phpstorm 开发语言:php7.4 框架:thinkphp5.1 测试环境:linuxwindows均测试通过。 初级方法: function longRunningTask() {$root_path Tools::get_ro…...
对于ARM开发各种手册的分类
手册名称全称主要内容适用范围是不是讲SysTick?Cortex-M3 Technical Reference Manual (TRM)Cortex-M3 Technical Reference Manual描述 Cortex-M3内核架构,如寄存器模型、总线接口、指令集、异常模型只适合 Cortex-M3 内核,不含外设❌ 没有C…...
java开发中#和$的区别
在Spring框架中,$ 和 # 是两种不同的表达式前缀,用于从不同的来源获取值或执行计算。下面详细解释它们的区别和用法: 一、$ 占位符(Property Placeholder) 1. 作用 从配置文件(如 application.propertie…...

在 RK3588 上通过 VSCode 远程开发配置指南
在 RK3588 上通过 VSCode 远程开发配置指南 RK3588 设备本身不具备可视化编程环境,但可以通过 VSCode 的 Remote - SSH 插件 实现远程代码编写与调试。以下是完整的配置流程。 一、连接 RK3588 1. 安装 Debian 系统 先在 RK3588 上安装 Debian 操作系统。 2. 安…...

OpenHarmony标准系统-HDF框架之音频驱动开发
文章目录 引言OpenHarmony音频概述OpenHarmony音频框图HDF音频驱动框架概述HDF音频驱动框图HDF音频驱动框架分析之音频设备驱动HDF音频驱动框架分析之supportlibs实现HDF音频驱动框架分析之hdi-passthrough实现HDF音频驱动框架分析之hdi-bindev实现HDF音频驱动加载过程HDF音频驱…...

HTML Day03
Day03 0. 引言1. CSS1.1 CSS的3种使用方法1.2 内联样式1.3 内部样式表1.4 外部CSS文件 2. 图像3. 表格3.1单元格间距和单元格边框 4. 列表4.1 有序表格的不同类型4.2 不同类型的无序表格4.3 嵌套列表 5. 区块6. 布局6.1 div布局6.2 表格布局 0. 引言 HELLO ^ _ ^大家好…...

篇章六 数据结构——链表(二)
目录 1. LinkedList的模拟实现 1.1 双向链表结构图编辑 1.2 三个简单方法的实现 1.3 头插法 1.4 尾插法 1.5 中间插入 1.6 删除 key 1.7 删除所有key 1.8 clear 2.LinkedList的使用 2.1 什么是LinkedList 5.2 LinkedList的使用 1.LinkedList的构造 2. LinkedList的…...
Python60日基础学习打卡Day39
昨天我们介绍了图像数据的格式以及模型定义的过程,发现和之前结构化数据的略有不同,主要差异体现在2处 模型定义的时候需要展平图像由于数据过大,需要将数据集进行分批次处理,这往往涉及到了dataset和dataloader来规范代码的组织…...

吴恩达MCP课程(3):mcp_chatbot
原课程代码是用Anthropic写的,下面代码是用OpenAI改写的,模型则用阿里巴巴的模型做测试 .env 文件为: OPENAI_API_KEYsk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx OPENAI_API_BASEhttps://dashscope.aliyuncs.com/compatible-mode…...
MySQL访问控制与账号管理:原理、技术与最佳实践
MySQL的安全体系建立在精细的访问控制和账号管理机制上。本文基于MySQL 9.3官方文档,深入解析其核心原理、关键技术、实用技巧和行业最佳实践。 一、访问控制核心原理:双重验证机制 连接验证 (Connection Verification) 客户端发起连接时,MyS…...
AWS 创建VPC 并且添加权限控制
AWS 创建VPC 并且添加权限控制 以下是完整的从0到1在AWS中创建VPC并配置权限的步骤(包含网络配置、安全组权限和实例访问): 1. 创建VPC 步骤: 登录AWS控制台 访问 AWS VPC控制台,点击 创建VPC。 配置基础信息 名称…...
langchain学习 01
dotenv库:可以从.env文件中加载配置信息。 from dotenv import load_dotenv # 加载函数,之后调用这个函数,即可获取配置环境.env里面的内容: deep_seek_api_key<api_key>getpass库:从终端输入password性质的内…...

【清晰教程】查看和修改Git配置情况
目录 查看安装版本 查看特定配置 查看全局配置 查看本地仓库配置 设置或修改配置 查看安装版本 打开命令行工具,通过version命令检查Git版本号。 git --version 如果显示出 Git 的版本号,说明 Git 已经成功安装。 查看特定配置 如果想要查看特定…...