MySQL数据库——在Centos7环境安装
MySQL在Centos7环境安装
1.切换root用户
安装与卸载中,用户全部切换成为root,安装好后,普通用户也能使用

2.卸载不要的环境
要将自己环境中有关mysql的全都删除,避免安装过程中被影响
ps axj | grep mariadb 先检查是否有mariadb服务启动
这种状态才是没有启动的

如果存在启动的mariadb服务,执行systemctl stop mariadb.service,再运行ps axj | grep mariadb
3.检查并卸载系统安装包
检查自己的环境中存不存在其他的安装包,避免在安装过程中用错或产生干扰,使最后安装结果的版本不匹配
rpm -qa | grep mariadb
rpm -qa | grep mysql
我的环境中并没有,

假设有其他的包,会显示包的名称,例如:
mysql-community-server-5.7.41-1.el7.x86_64
mysql57-community-release-el7-11.noarch
mysql-community-client-5.7.41-1.el7.x86_64
mysql-community-libs-5.7.41-1.el7.x86_64
此时就需要卸载这些默认安装包,执行(最好一个一个卸载):
sudo yum remove mariadb
然后检查是否有文件/etc/my.cnf,执行ls /etc/my.cnf,然后做个备份
4.获取mysql官方yum源
检查自己系统版本:cat /etc/redhat-release

我的是不常用的示范机,装的是阿里云的linux系统
正常应该是显示centos版本,例如:

浏览器输入:Index of /232905
注意:最好安装和自己系统⼀致的mysql版本,否则可能会存在软件兼容性问题
找到后下载到你的本地,然后上传到你的Linux服务器

然后右键选择查看网页源代码,这样会显示出来版本号全称

找mysql57开头的,后缀是elX-X的(大概在一百五十多行)

然后在当前目录新建一个文件夹MySQL
mkdir MySQL
cd MySQL
然后上传刚下载的mysql文件


我这里使用rz命令,不需要用xftp,可以先使用yum下载(sudo yum install lrzsz)

5.安装mysql yum源
查看本地yum源,安装前后进行对比,命令ls /etc/yum.repos.d/ -al,(我们的肯定不相同,但是可以看到没有mysql相关的yum源)

安装,使用rmp,命令rpm -Uvh mysql57-community-release-el7-9.noarch_.rpm(后边跟你自己的包的名称,注意版本号)

再次查看yum源,会发现多了两个mysql相关的

再看看能不能工作,输入命令yum list |grep mysql(需要等待几秒,我只截取了部分,后边还有很多)

6.安装mysql服务
执行命令yum install -y mysql-community-server
有可能会报错,如下:

这种情况是密匙过期,执行命令rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022就能解决

然后再次执行安装命令


成功!
7.查看配置文件和数据存储位置

/etc/my.cnf此文件是mysql配置文件
/var/lib/mysql此文件是存储mysql数据的文件
8.启动服务
执行命令systemctl start mysqld.service
查看启动服务,执行命令ps axj |grep mysqld,可以看到已经启动了

9.登录方法
我们现在还不知道密码,正常情况执行mysql -uroot是还登录不上的,有几种登录方式,我直接挑一种大部分场景都可以用的:直接跳过密码验证进行登录,需要进行mysql配置
执行命令vim /etc/my.cnf,然后在最后一行加上skip-grant-tables

然后按esc:wq!保存配置
配置完以后需要重启mysql服务,执行命令systemctl restart mysqld
启动mysql,执行命令mysql -uroot

登录成功!
10.设置密码
mysql> use mysql;
mysql> update mysql.user set authentication_string = password('新密码') where user='root';
mysql> flush privileges;
mysql> quit;

然后把配置文件改回来。就是把之前在/etc/my.cnf加的那一行删除了,然后重启mysql服务systemctl restart mysqld,这次进行登录,但是需要在结尾加上-p,不加是不需要输入密码的登录方式

成功登录!
11.开机自启动(选择性设置)
执行命令:
systemctl enable mysqld
systemctl daemon-reload

12.my.cnf配置
配置⼀下my.cnf,主要是数据库客户端和服务器的编码格式

我这里配置了如上三种,配置完毕后重启mysql服务即可systemctl restart mysqld

可选配置:
- port=3306: 这个设置指定了 MySQL 服务器监听的端口号。默认情况下,MySQL 使用端口号 3306 来接收客户端的连接。你可以根据需要修改这个值,但通常情况下不需要更改。
- character-set-server=utf8: 这个设置指定了 MySQL 数据库服务器的默认字符集。在这种情况下,字符集被设置为 UTF-8,这是一种通用的字符编码,支持多种语言的字符集。设置数据库的字符集是非常重要的,特别是当数据库需要存储和处理多语言数据时。
- default-storage-engine=innodb: 这个设置指定了 MySQL 数据库服务器的默认存储引擎。在这种情况下,存储引擎被设置为 InnoDB。InnoDB 是 MySQL 中最常用的存储引擎之一,它支持事务、外键和行级锁等特性,通常被用于处理事务性的数据。MySQL 还支持其他存储引擎,如 MyISAM、Memory 等,每种存储引擎都有其自身的特点和适用场景。
- datadir=/var/lib/mysql: 这个设置指定了 MySQL 数据库服务器的数据目录。在这个配置中,数据目录被设置为 /var/lib/mysql,这是 MySQL 默认的数据存储位置。
- socket=/var/lib/mysql/mysql.sock: 这个设置指定了 MySQL 数据库服务器的套接字文件路径。在这个配置中,套接字文件路径被设置为 /var/lib/mysql/mysql.sock,MySQL 客户端可以通过这个套接字与服务器进行通信。
- symbolic-links=0: 这个设置禁用了 MySQL 数据库服务器中的符号链接,以预防各种安全风险。
- log-error=/var/log/mysqld.log: 这个设置指定了 MySQL 数据库服务器的错误日志文件路径。在这个配置中,错误日志文件被设置为 /var/log/mysqld.log。
- pid-file=/var/run/mysqld/mysqld.pid: 这个设置指定了 MySQL 数据库服务器的进程 ID 文件路径。在这个配置中,进程 ID 文件被设置为 /var/run/mysqld/mysqld.pid。
相关文章:
MySQL数据库——在Centos7环境安装
MySQL在Centos7环境安装 1.切换root用户 安装与卸载中,用户全部切换成为root,安装好后,普通用户也能使用 2.卸载不要的环境 要将自己环境中有关mysql的全都删除,避免安装过程中被影响 ps axj | grep mariadb 先检查是否有mari…...
怎样规避液氮容器内部结霜的问题
液氮容器内部结霜问题一直是我们在使用液氮储存罐时遇到的一个棘手难题。液氮的极低温度使得容器内部很容易产生结霜现象,这不仅影响了容器的正常使用,还可能对内部样品或设备造成损坏。因此,如何有效规避液氮容器内部结霜问题成为了每个使用…...
冶金工业5G智能工厂工业物联数字孪生平台,推进制造业数字化转型
冶金工业5G智能工厂工业物联数字孪生平台,推进制造业数字化转型。传统生产方式难以满足现代冶金工业的发展需求,数字化转型成为必然趋势。通过引入5G、工业物联网和数字孪生等先进技术,冶金工业可以实现生产过程智能化、高效化和绿色化&#…...
一文入门机器学习参数调整实操
作者前言: 通过向身边的同事大佬请教之后,大佬指点我把本文的宗旨从“参数调优”改成了“参数调整”。实在惭愧,暂时还没到能“调优”的水平,本文只能通过实操演示“哪些操作会对数据训练产生影响”,后续加深学习之后,…...
基于51单片机的银行排队呼叫系统设计
一.硬件方案 本系统是以排队抽号顺序为核心,客户利用客户端抽号,工作人员利用叫号端叫号;通过显示器及时显示当前所叫号数,客户及时了解排队信息,通过合理的程序结构来执行排队抽号。电路主要由51单片机最小系统LCD12…...
JXCategoryView的使用总结
一、初始化 -(JXCategoryTitleView *)categoryView{if (!_categoryView) {_categoryView [[JXCategoryTitleView alloc] init];_categoryView.delegate self;_categoryView.titleDataSource self;_categoryView.averageCellSpacingEnabled NO; //是否平均分配项目之间的间…...
Centos9 安装VBox增强功能问题
安装步骤 更新gcc 首先手动更新gcc,防止无法兼容最新版本的内核,我这里将gcc 11更新到gcc 13 1.首先更新当前gcc和支持 yum install -y gcc gcc-c 2.下载新版本gcc压缩包 wget http://ftp.gnu.org/gnu/gcc/gcc-13.1.0/gcc-13.1.0.tar.gz 解压到usr ta…...
【JVM】Java虚拟机运行时数据分区介绍
JVM 分区(运行时数据区域) 文章目录 JVM 分区(运行时数据区域)前言1. 程序计数器2. Java 虚拟机栈3. 本地方法栈4. Java 堆5. 方法区6. 运行时常量池7. 直接内存 前言 之前在说多线程的时候,提到了JVM虚拟机的分区内存…...
大数据面试题之Kafka(2)
目录 Kafka的工作原理? Kafka怎么保证数据不丢失,不重复? Kafka分区策略 Kafka如何尽可能保证数据可靠性? Kafka数据丢失怎么处理? Kafka如何保证全局有序? 生产者消费者模式与发布订阅模式有何异同? Kafka的消费者组是如何消费数据的 Kafka的…...
前端面试题(基础篇十一)
一、DOCTYPE 的作用是什么? <!DOCTYPE> 声明一般位于文档的第一行,它的作用主要是告诉浏览器以什么样的模式来解析文档。一般指定了之后会以标准模式来进行文档解析,否则就以兼容模式进行解析。在标准模式下,浏览器的解析规…...
【论文阅读】Answering Label-Constrained Reachability Queries via Reduction Techniques
Cai Y, Zheng W. Answering Label-Constrained Reachability Queries via Reduction Techniques[C]//International Conference on Database Systems for Advanced Applications. Cham: Springer Nature Switzerland, 2023: 114-131. Abstract 许多真实世界的图都包含边缘标签…...
Git Flow 工作流学习要点
Git Flow 工作流学习要点 Git Flow — 流程图Git Flow — 操作指令优点:缺点:Git Flow 分支类型Git Flow 工作流程简述关于 feature 分支关于 Release 分支关于 hotfix 分支 总结 Git Flow — 流程图 图片来源:https://nvie.com/posts/a-succ…...
blender 快捷键 常见问题
一、快捷键 平移视图:Shift 鼠标中键旋转视图:鼠标中键缩放视图:鼠标滚动框选放大模型:Shift B线框预览和材质预览切换:Shift Z 二、常见问题 问题:导入模型成功,但是场景中看不到。 解…...
HTTP详解:TCP三次握手和四次挥手
一、TCP协议概述 TCP协议是互联网协议栈中传输层的核心协议之一,它提供了一种可靠的数据传输方式,确保数据包按顺序到达,并且没有丢失或重复。TCP的主要特点包括: 面向连接:TCP在传输数据之前需要建立连接。可靠传输&…...
详解HTTP:有了HTTP,为何需要WebSocket?
在日常生活中,HTTP 常用于请求数据。例如,当你打开一个天气预报网站时,浏览器会发送一个 HTTP 请求到服务器,请求当前的天气数据,服务器返回响应,浏览器解析并显示这些数据。 但是,当涉及到需要…...
Spring Boot 启动流程是怎么样的
引言 SpringBoot是一个广泛使用的Java框架,旨在简化基于Spring框架的应用程序的开发过程。在这篇文章中,我们将深入探讨SpringBoot应用程序的启动流程,了解其背后的机制。 Spring Boot 启动概览 SpringBoot应用程序的启动通常从一个包含 m…...
【学习笔记】数据结构(三)
栈和队列 文章目录 栈和队列3.1 栈 - Stack3.1.1 抽象数据类型栈的定义3.1.2 栈的表示和实现 3.2 栈的应用举例3.2.1 数制转换3.2.2 括号匹配的检验3.2.3 迷宫求解3.2.4 表达式求值 - 波兰、逆波兰3.2.5 反转一个字符串或者反转一个链表 3.3 栈与递归的实现3.4 队列 - Queue3.4…...
学习python笔记:10,requests,enumerate,numpy.array
requests库,用于发送 HTTP 请求的 Python 库。 requests 是一个用于发送 HTTP 请求的 Python 库。它使得发送 HTTP 请求变得简单且人性化。以下是一些基本的 requests 函数及其用途: requests.get(url, **kwargs) 发送一个 GET 请求到指定的 URL。 i…...
经典神经网络(13)GPT-1、GPT-2原理及nanoGPT源码分析(GPT-2)
经典神经网络(13)GPT-1、GPT-2原理及nanoGPT源码分析(GPT-2) 2022 年 11 月,ChatGPT 成功面世,成为历史上用户增长最快的消费者应用。与 Google、FaceBook等公司不同,OpenAI 从初代模型 GPT-1 开始,始终贯彻只有解码器࿰…...
MySQL库与表的操作
目录 一、登录并进入数据库 1、登录 2、USE 命令 检查当前数据库 二、库的操作 1、创建数据库语法 2、举例演示 3、退出 三、字符集和校对规则 1、字符集(Character Set) 2、校对集(Collation) 总结 3、操作命令 …...
Claude智能优化器:提升大模型工具调用准确性的工程实践
1. 项目概述与核心价值最近在折腾大语言模型应用开发时,我一直在思考一个问题:如何让像Claude这样的顶级AI助手,在回答复杂问题时,能更稳定、更聪明地调用外部工具和函数?直接调用API,模型有时会“犯懒”或…...
PostgreSQL COPY命令实战:从CSV导入到导出的完整数据流处理
1. 为什么你需要掌握COPY命令 如果你经常需要把Excel表格或CSV文件的数据导入PostgreSQL数据库,或者反过来把数据库查询结果导出成文件,那么COPY命令就是你的瑞士军刀。我见过太多人还在用Python脚本逐行读写CSV,不仅效率低,代码还…...
开题报告一次通关密码:告别反复修改,虎贲等考 AI 重新定义高效开题
每一位本硕博学生都懂:开题不顺,论文全乱。开题报告是毕业论文的 “总设计图”,选题、框架、文献、技术路线只要一项不达标,就会被导师反复打回,浪费时间、消耗心态,甚至直接拖慢整个毕业节奏。可自己写开题…...
基于Arduino Pro Micro的薄膜键盘矩阵改造:DIY低成本模拟飞行外设
1. 项目概述:为Falcon BMS打造一款经济型多功能按键面板如果你是一名《Falcon BMS》的飞行模拟爱好者,同时又对硬件DIY抱有热情,那么你很可能和我一样,对市面上那些动辄数百甚至上千元的专业模拟飞行外设感到望而却步。尤其是像F-…...
全网珍藏网安学习网站大全,一次性整理齐全,错过容易被删速收藏!
我们学习网络安全,很多学习路线都有提到多逛论坛,阅读他人的技术分析帖,学习其挖洞思路和技巧。但是往往对于初学者来说,不知道去哪里寻找技术分析帖,也不知道网络安全有哪些相关论坛或网站,所以在这里给大…...
PICAXE单片机驱动DS18B20温度传感器:从硬件连接到数据处理
1. 项目概述:用PICAXE玩转DS18B20数字温度传感器如果你手头有一块PICAXE单片机,想快速实现一个温度监测项目,那么DS18B20这颗数字温度传感器绝对是你的绝佳拍档。它只需要一根数据线就能和MCU通信,抗干扰能力强,还能通…...
混合人工智能架构可以将神经形态系统转变为可靠的发现机器。
基于ON-OFF神经元的高阶伊辛机架构。图片来源:Nature Communications (2026)。DOI:10.1038/s41467-026-71937-4来源:https://techxplore.com/news/2026-05-hybrid-ai-architecture-neuromorphic-reliable.html主导世界的AI机器可以分为三大类…...
在Android Termux中搭建轻量级Docker容器环境:原理、部署与实战
1. 项目概述与核心价值最近在折腾移动设备上的开发环境,发现一个挺有意思的项目:George-Seven/Termux-Udocker。简单来说,它是在Android平台的Termux终端模拟器里,实现一个轻量级的Docker容器运行环境。这玩意儿解决了一个挺实际的…...
ImageTrans插件生态:用Python扩展图片OCR与翻译工作流
1. 项目概述:一个为ImageTrans量身定制的插件生态如果你经常需要处理图像中的文字,比如翻译漫画、本地化游戏截图或者处理带文字的UI设计稿,那你很可能听说过或者用过ImageTrans这款工具。它是一款专注于图片文字识别(OCR…...
基于Rust与智能体范式构建生产级AI工作流:从Dust平台实践到避坑指南
1. 从零到一:理解Dust平台的核心价值与设计哲学如果你和我一样,每天都在和代码、文档、数据打交道,那你肯定也经历过这样的时刻:为了一个简单的数据查询,需要在不同工具间反复切换;为了写一份周报ÿ…...
