当前位置: 首页 > news >正文

数据库基本介绍及编译安装mysql

目录

数据库介绍

数据库类型

数据库管理系统(DBMS)

数据库系统

DBMS的工作模式

关系型数据库的优缺点

编译安装mysql


 

数据库介绍

数据:描述事物的的符号纪录称为数据(Data)

:以行和列的形式组成了表(像excel表格),(数据存储在表中)关系型数据库由记录组成,记录由字段组成,字段由数字和字符组成

:表的集合(也就是用来存放表的地方)

数据库类型

关系型数据库:结构是二维表,也就是像excel一样的表格,每个字段(列)用来描述对象的一个属性,每个记录(行)用来描述一个对象的信息。表与表之间存在联系。关系型数据库数据存储在磁盘上。使用sql语句进行查询

非关系型数据库:是一种数据结构化方法的集合,一般使用键值对进行存储,且数据存储在内存上,关机便会消失。

数据库管理系统(DBMS)

数据库管理系统是实现对数据库资源的有效组织,管理和存取的系统软件,在操作系统的支持下,支持用户的以下操作:

数据库的建立和维护:包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能。

数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误数据被输入或输出。

数据操作功能:包括数据查询统计和数据更新两个方面。

数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控 制、数据库内部维护等功能。

通信功能:DBMS 与其他软件系统之间的通信,如 Access 能与其他 Office 组件进行数据交换。

数据库系统

数据库系统(DBS)是一个人机系统,一般由硬件、操作系统、数据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成。用户可以通过 DBMS 操作数据库,也可以通过应用程序操作数据库(Navicat)

DBMS的工作模式

1.接受应用程序的数据请求和处理请求

2.将用户的数据请求(高级指令)转换成机器能识别的代码

3.实现数据库的操作

4.从数据库的操作中接收查询结果

5.对查询结果进行处理(转换成用户可以查看的形式)

6.将查询结果返回用户

关系型数据库的优缺点

优点
1.易于维护:都是使用表结构,格式一致。
2.使用方便:SQL语言通用,可用于复杂查询。
3.复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点
1.读写性能比较差,尤其是海量数据的高效率读写。
2.固定的表结构,灵活度稍欠。
3.高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

编译安装mysql

1.首先准备两个压缩包 

  一个mysql(MySQL :: MySQL Community Downloads)的包和一个boost(Boost Downloads  地址)的包

661d7e8f07a94ee6a0d40f834a6337aa.png

2.下载一些编译安装需要的软件

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake

ba74fd71ea504bb788bef166a0326c9a.png

3.解压两个包

tar xf boost_1_59_0.tar.gz 

tar xf mysql-5.7.17.tar.gz

9589d997df2041cea8217d2f96eb497a.png

4.将 boost_1_59_0 移动到/usr/local/ 并改名成 boost

mv boost_1_59_0 /usr/local/boost

6d1219e1c2c1403dbffca41fb9bf5d11.png

5.进入到 mysql

cd mysql-5.7.17/

e3b17ac58fd544649dd6ca46cf0baf12.png

6.进行cmake

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1

bf9291051e3e4f28a20832745a00f0ca.png

7.make && make install  (-j  2 使用2核cpu安装,你有几个cpu就能用几核运行) 这个需要一段时间

934740e89eca44249ef6ec46aa7efb06.png

8.创建用户mysql

useradd -s /sbin/nologin mysql

0ed32ff301be4a6c9139c4e387dd0dd9.png

9.将/usr/local/mysql/下的文件的属主属组改成mysql

1f4b7a7b8b9d4f8ba605ce6cc139ec30.png

8d2cae7599494a5896b72aedd02c66f0.png

10.修改/etc/my.cnf的属主属组

 chown mysql:mysql /etc/my.cnf

a059bbd850814673a094b16cfc7ea353.png

11.修改/etc/my.cnf内容

[client]                                    
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock    

[mysql]                                    
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
auto-rehash

[mysqld]
user = mysql 
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306    
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
fa68ae6d486f48e388a200d4eee902a4.png

12.设置环境变量,申明/宣告mysql命令便于系统识别

echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

f101f628368a4e3581b5f220a5bfdf94.png

可以 cat /etc/profile查看

10e4330a0eda452eb3ed35994e53d3dc.png

13.初始化数据库

切换到 /usr/local/mysql/bin下

cd /usr/local/mysql/bin/

cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

db82b4f8481b4b9d901d565b83979bb7.png

14.将mysql 加入到管理进程中

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service  /lib/systemd/system/

5f1f2fe53b7c45609591c258ba39474f.png

15.刷新管理模块,启动mysql 查看状态

c870ca5ef102447eb8ceda1633c07b5a.png

16.设置开机自启

systemctl enable mysqld.service 

119ac03b39fd4d478720481779b10935.png

17.给root账号设置密码

16c4f819cc664fb58a4be3b1abfa3ca9.png

18.登录数据库

ddcd9e1d818c411699f7680b49390e25.png

19.数据库退出(quit)

8ab7e8fdf68b452ea3883e8a1d382910.png

完成

 

 

相关文章:

数据库基本介绍及编译安装mysql

目录 数据库介绍 数据库类型 数据库管理系统(DBMS) 数据库系统 DBMS的工作模式 关系型数据库的优缺点 编译安装mysql 数据库介绍 数据:描述事物的的符号纪录称为数据(Data) 表:以行和列的形式组成…...

代码随想录算法训练营第55天 | 583. 两个字符串的删除操作, 72. 编辑距离

动态规划章节理论基础: https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 583. 两个字符串的删除操作 题目链接:https://leetcode.cn/problems/delete-operation-for-two-strings/descrip…...

Guava之EventBus源码分析

简介 事件总线。 有助于深入理解代码的功能和实现细节。 可以了解代码背后的逻辑、算法、数据结构和设计模式等方面,从而更好地理解代码的作用和功能。 可以学习到业界的最佳实践和设计模式。 这有助于提高自己的编程水平,使你能够编写更高质量、可…...

Spark on Yarn安装配置

目录 前言 初了解spark Standalone模式 Yarn模式 前言 今天我们讲解Spark的安装配置,spark的部署分为两种,一种是Standalone模式,另一种就是on yarn 模式,我们这一节着重讲解on yarn 模式,因为符合生产活动&#…...

Debezium日常分享系列之:Debezium 2.5.3.Final发布

Debezium日常分享系列之:Debezium 2.5.3.Final发布 一、重大改变1.SQL Server 二、改进和变化1.Debezium 服务器的 TRACE 级别日志记录2.Informix 将 LSN 附加到事务标识符3.PostgreSQL 改进 三、Debezium技术总结 一、重大改变 1.SQL Server 首次部署连接器时&am…...

elment-ui el-tabs组件 每次点击后 created方法都会执行2次

先看错误的 日志打印: 错误的代码如下: 正确的日志打印: 正确的代码如下: 前言: 在element-ui的tabs组件中,我们发现每次切换页面,所有的子组件都会重新渲染一次。当子页面需要发送数据请求并且子页面过多时,这样会过多的占用网络资源。这里我们可以使用 v-if 来进行…...

sheng的学习笔记-AI-Network in Network(NIN)和1*1卷积

目录:sheng的学习笔记-AI目录-CSDN博客 简介 Network In Network 是发表于 2014 年 ICLR 的一篇 paper。当前被引了 3298 次。这篇文章采用较少参数就取得了 Alexnet 的效果,Alexnet 参数大小为 230M,而 Network In Network 仅为 29M&#x…...

【靶机测试--PHOTOGRAPHER: 1【php提权】】

前期准备 靶机下载地址: https://vulnhub.com/entry/photographer-1%2C519/ 信息收集 nmap 扫描同网段 ┌──(root㉿kali)-[/home/test/桌面] └─# nmap -sP 192.168.47.0/24 --min-rate 3333 Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-19 07:37 …...

LeetCode每日一题——删除有序数组中的重复项

删除有序数组中的重复项OJ链接:26. 删除有序数组中的重复项 - 力扣(LeetCode) 题目: 思路: 题目要求每个数只能出现一次,然后返回新数组的长度。仔细一看,其实与我们之前的移除元素那道题十分…...

元宇宙VR数字化艺术展降低办展成本

元宇宙AI时代已经来临,越来越多人期待在元宇宙数字空间搭建一个属于自己的虚拟展厅,元宇宙虚拟展厅搭建平台是VR公司深圳华锐视点为企业研发的可编辑工具,那么元宇宙虚拟展厅搭建平台有哪些新突破? 元宇宙虚拟展厅搭建平台采用了先进的web3D…...

聚类分析 | Matlab实现基于PCA+DBO+K-means的数据聚类可视化

聚类分析 | Matlab实现基于PCADBOK-means的数据聚类可视化 目录 聚类分析 | Matlab实现基于PCADBOK-means的数据聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 PCA(主成分分析)、DBO(蜣螂优化算法)和K-means聚类…...

使用 git 先提交后拉取的时候远程分支不允许问题

问题场景 修改本地代码使用 git 先提交后拉取的时候远程分支不允许的问题 修改本地代码时,远程分支存在其他新提交先执行了 git commit -m xxx update然后再执行 git pull 拉取远程分支代码,出现如下提示 hint: You have divergent branches and need…...

Unity 创建快捷方式开机自动启动

Unity 创建快捷方式自动启动 🌭食用方法 🌭食用方法 先导入插件包👈,再 把导入的ZYF_AutoRunApp.cs 挂到物体上即可。 using System; using System.Collections; using System.Collections.Generic; using System.IO; using Uni…...

什么是docker(docker客户端、镜像、容器、仓库)

一、docker Docker 是一个开源的容器化平台,它可以让开发者打包应用程序及其依赖项成为一个轻量级、可移植的容器,然后在任何环境中运行。Docker 容器将应用程序及其依赖项打包到一个标准化单元中,包括代码、运行时环境、系统工具、系统库等…...

[Python人工智能] 四十三.命名实体识别 (4)利用bert4keras构建Bert+BiLSTM-CRF实体识别模型

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前文讲解如何实现中文命名实体识别研究,构建BiGRU-CRF模型实现。这篇文章将继续以中文语料为主,介绍融合Bert的实体识别研究,使用bert4keras和kears包来构建Bert+BiLSTM-CRF模型。然而,该代码最终结…...

Android Framework开发之Linux +Vim命令

一、linux常用命令 在Android源码开发中,Linux命令的运用是至关重要的。这些命令不仅帮助开发者有效管理文件、目录和系统资源,还能在源码编译、调试和排错过程中发挥关键作用。以下是对Android源码开发中常用Linux命令的更详细介绍: 当然可…...

MySQL 索引的10 个核心要点

文章目录 🍉1. 索引底层采用什么数据结构?为什么不用hash🍉2. B树与B树区别?为何用B树?🍉3. 自增主键理解?🍉4. 为什么自增主键不连续🍉5. Innodb为什么推荐用自增ID&…...

MaixSense-A010 接入 ROS

MaixSense 是什么 MaixSense 系列产品搭载 TOF 深度摄像头,目前有 MaixSense-A010 和 MaixSense-A075V 两款产品。 MS-A010 是一款由 BL702 炬佑 100x100 TOF 模组所组成的极致性价比的 TOF 3D 传感器模组,最大支持 100x100 的分辨率和 8 位精度&…...

使用WordPress在US Domain Center上建立招聘网站的详细教程

第一部分:介绍招聘网站 招聘网站是指用于发布招聘信息、吸引求职者、进行简历筛选和管理招聘流程的网站。在WordPress中,您可以轻松地创建一个功能齐全的招聘网站,以便企业能够方便地管理招聘流程,并为求职者提供信息和应聘渠道。…...

C++:类和对象(上篇)

目录: 一:面向对象和过程的介绍 二:类的引入 三:类的定义 四:类的访问限定符以及封装 五:类的作用域 六:类的实例化 七:类对象大小的计算 八:类成员函数的this指…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

synchronized 学习

学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...