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

news2024/11/25 22:29:30

目录

数据库介绍

数据库类型

数据库管理系统(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

完成

 

 

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

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

相关文章

个人商城系统开源(配置支付宝支付2)

原文地址:个人商城系统开源(配置支付宝支付2) - Pleasure的博客 下面是正文内容: 前言 在上一篇文章中我曾提到过关于网站支付宝支付的方法,接下来我们来介绍第二种。 个人博客地址:个人商城系统开源&…

奶牛均分

解法&#xff1a; 假设编号从左到右递增&#xff0c;奶牛每次只能去往左边的牛圈。因此等分最大奶牛数小于等于最右边牛圈奶牛数&#xff0c;不妨设数为k&#xff0c;那么a[i]>k&#xff0c;a[i-1]>2k。。。 做后缀和二分答案就可找到k #include<iostream> #inc…

利用Android studio 查看模拟器中数据文件

打开Android studio &#xff0c;然后按照下图选择 然后会在右侧打开一个这样子的管理弹窗 找到 data/data/your project file 你的缓存跟下载的文件就都在里面了

如何利用RunnerGo简化性能测试流程

在软件开发过程中&#xff0c;测试是一个重要的环节&#xff0c;需要投入大量时间和精力来确保应用程序或网站的质量和稳定性。但是&#xff0c;随着应用程序变得更加复杂和庞大&#xff0c;传统的测试工具在面对比较繁琐的项目时非常费时费力。这时&#xff0c;一些自动化测试…

UE4_官方动画内容示例1.1_使用动画资产

对一个SkeletalMeshActor进行设置&#xff0c;设置好之后&#xff0c;可以通过该Actor的细节&#xff08;Details&#xff09;面板播放指定的动画序列&#xff08;AnimationSequence&#xff09;资产&#xff08;例如让Actor翻跟斗并做开合跳&#xff09;。 骨架网格体定义&am…

相机与激光雷达是怎么标定的?一览行业所有主流的标定工具

相机与激光雷达是怎么标定的&#xff1f;一览行业所有主流的标定工具 相机与激光雷达的标定是很多任务的基础工作&#xff0c;标定精度决定了下游方案融合的上限&#xff0c;因为许多自动驾驶与机器人公司投入了较大的人力物力不断提升&#xff0c;今天也为大家盘点下常见的Ca…

幼儿教育管理系统|基于jsp 技术+ Mysql+Java的幼儿教育管理系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…

【PHP + 代码审计】函数详解2.0

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…

matlab 基于小波变换的油气管道泄露信号检测

1、内容简介 略 71-可以交流、咨询、答疑 基于小波变换的油气管道泄露信号检测 去噪、小波变换、油气管道泄露、信号检测 2、内容说明 摘 要&#xff1a; 油气管道泄漏会造成严重危害&#xff0c;因此&#xff0c;亟需寻找一种能快速检测油气管道信号的技术。传统的 傅里…

Gif动态闪图如何制作?教你1分钟快速制作

动态文字闪图是一种独特而有趣的图像效果&#xff0c;通过将文字以闪烁、跳动或变换的方式呈现&#xff0c;给人一种动态感和视觉冲击力。如果你想制作自己的动态文字闪图&#xff0c;下面是一些简单的方法来帮助你完成这个任务。使用在线闪图制作网站-GIF5工具网&#xff0c;无…

Ubuntu虚拟机的IP总频繁变化,导致Xshell断开连接

文章目录 一、IP变化的原因二、解决方法&#xff1a;固定IP三、参考文章 一、IP变化的原因 1.DHCP协议 虚拟机系统(Ubuntu、CentOS、UOS等Linux系统)启动后&#xff0c;加入本地局域网网络时&#xff0c;会向本地网络申请租约一个IP地址&#xff0c;租约时长不定。我这里租约时…

程序员下班以后做什么副业合适?

我就是一个最普通的网络安全工程师&#xff0c;出道快10年了&#xff0c;不出意外地遭遇到瓶颈期&#xff0c;但是凭技术在各大平台挖漏洞副业&#xff0c;硬是妥妥扛过来了。 因为对于程序员来讲&#xff0c;这是个试错成本很低、事半功倍的选择。编程技能是一种强大生产力&a…

RocketMQ tag不匹配

问题现象 消费组消费消息显示tag不匹配&#xff0c;但检查配置是一样的tag 消费端配置 原因分析 订阅组订阅一致性 订阅一致性是指同一个订阅组&#xff08;ConsumerGroup&#xff09;下所有的 Consumer 实例订阅&#xff0c;Topic 与 Tag 必须完全一致&#xff0c;否则可能…

首页效果炫酷的wordpress免费主题模板

视频背景免费WP主题 简洁大气的视频背景wordpress主题&#xff0c;找大视频背景的主题可以看看这个。 https://www.wpniu.com/themes/193.html 红色全屏大图WP主题 非常经典的一款免费wordpress主题&#xff0c;红色全屏大图满足多行业使用。 https://www.wpniu.com/themes…

代码随想录算法训练营第29天| 491.递增子序列、46.全排列、47.全排列 II

491.递增子序列 题目链接&#xff1a;复原IP地址 题目描述&#xff1a;给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数…

STM32CubeMX学习笔记23---FreeRTOS(任务的挂起与恢复)

1、硬件设置 本实验通过freertos创建两个任务来分别控制LED2和LED3的亮灭&#xff0c;需要用到的硬件资源 LED2和LED3指示灯串口 2、STM32CubeMX设置 根据上一章的步骤创建两个任务&#xff1a;STM32CubeMX学习笔记22---FreeRTOS&#xff08;任务创建和删除&#xff09;-CS…

XMind:让思维可视化,提升工作效率的利器

XMind是一款全球领先的开源思维导图和头脑风暴软件&#xff0c;它应用全球最先进的Eclipse RCP软件架构&#xff0c;拥有优秀的用户体验&#xff0c;凭借简单易用、功能强大的特点&#xff0c;在2013年被著名互联网媒体Lifehacker评选为全球最受欢迎的思维导图软件。目前&#…

小程序用什么SSL证书比较好?

小程序开发时为了实现HTTPS加密通信&#xff0c;可以选择以下几种类型的SSL证书&#xff1a; 1.域名验证型SSL证书 - DV证书是最基础的SSL证书类型&#xff0c;主要验证域名的所有权。对于个人开发者或小型企业的小程序&#xff0c;特别是展示类小程序或无需进行深度身份验证的…

可下载九大报纸种类的下载工具

今天给大家分享一个可以下载中国证券报&#xff0c;人民日报&#xff0c;农民日报&#xff0c;工人日报&#xff0c;江西日报&#xff0c;科技日报&#xff0c;NEWS&#xff0c;经济日报&#xff0c;解放军报&#xff0c;赣南日报的下载工具。 一、主要特点&#xff1a; 1.可以…

shardingsphere-elastic-job-ui 管理界面安装

shardingsphere-elasticjob 从 3.0.0-alpha 版本开始&#xff0c;将console管理界面单独拆分出来 下载前需要 安装 maven 配置环境变量 安装 nodejs 配置环境变量 下载ui源码,安装 官方并未直接提供可执行的二进制文件,需要下载源码编译,目前发行版 3.0.2 https://github.com/…