数据库基本介绍及编译安装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

完成

 

 

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

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

相关文章

mysql迁移达梦数据库 Java踩坑合集

达梦数据库踩坑合集 文章目录 安装达梦设置大小写不敏感Spring boot引入达梦驱动(两种方式)将jar包打入本地maven仓库使用国内maven仓库(阿里云镜像) 达梦驱动yml配置springboot mybatis-plus整合达梦,如何避免指定数据库名&…

常用负载均衡详解

一、介绍 在互联网场景下,负载均衡(Load Balance)是分布式系统架构设计中必须考虑的一个环节,它通常是指将负载流量(工作任务、访问请求)平衡、分摊到多个操作单元(服务器、组件)上去…

Vue 计算属性和watch监听

1.1.计算属性 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><!-- 引入vue.js --><script src"node_modules/vue/dist/vue.js"></script> </h…

如何在尽量不损害画质的前提下降低视频占内存大小?视频格式科普及无损压缩软件推荐

大家好呀&#xff0c;相比大家都有对视频画质和体积的追求和取舍&#xff0c;那么&#xff0c;如何才能在不牺牲画质的前提下&#xff0c;尽可能的将视频大小降低到极致呢&#xff1f; 首先我们要了解视频的构成&#xff0c;要想降低视频的体积大小&#xff0c;我们可以从以下几…

FITS:一个轻量级而又功能强大的时间序列分析模型

AI预测相关目录 AI预测流程&#xff0c;包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

MySQL 多表查询强化练习

环境准备 create table dept(id int PRIMARY KEY,dname VARCHAR(50),loc VARCHAR(50) ); insert into dept values (10,研发部,北京), (20,学工部, 上海), (30,销售部,广州 ), (40,财务部,深圳);create table job(id int PRIMARY KEY,jname VARCHAR(20),descripition VARCHAR(…

【web世界探险家】HTML5 探索与实践

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &…

129740-002 是ABB生产的模块吗?

ABB 129740-002是一款智能模拟量输入输出IO模块。 这款模块的主要功能是进行模拟信号与数字信号之间的转换。具体来说&#xff0c;它可以将模拟信号转换为数字信号&#xff0c;也可以将数字信号转换回模拟信号。这一特性使其在工业应用中具有重要作用&#xff0c;尤其是在过程…

Cesium新版修改源码后,编译不生效问题

最新版本的cesium源码在编译时默认使用node_models下的cesium/engine&#xff0c;从而导致咱们修改项目中的源码并不会生效 解决方式 &#xff1a; 进入到实际的源码位置&#xff0c;执行npm link 在返回到源码的根目录下执行 npm link ./packages/engine

vue3 几种实现点击复制链接的方法

vue3 几种实现点击复制链接的方法 环境&#xff1a;vue3tselment plus 目的&#xff1a;常用到的地方就是点击复制分享链接功能 1.复制当前页面链接&#xff0c; <template><div class"news" style"margin-top: 30px"><el-button type&q…

游戏 AI 反作弊|内附解决方案详情!

我们提出使用在游戏中广泛存在的回放日志数据&#xff0c;重构出玩家当局的表现。在回放 日志数据中&#xff0c;我们构建了玩家的时序行为数据&#xff0c;并基于该时序行为数据&#xff0c;分别搭建 了透视和自瞄外挂检测系统&#xff0c;该方法和系统可广泛应用于各种在线…

SAP STMS请求重复传输

STMS 在接请求的导入的时候&#xff0c;第一次发生了错误&#xff0c;在修复了错误之后&#xff0c; 该请求二次导入显示已经该请求已全部导入 可以按如下操作进行再次导入 附加--》其他请求--》添加 输入请求号并勾选再次导入 然后点选需要重复导入的请求号即可再次导入

AI算力池化赋能企业大模型价值探索

1. 大语言模型企业落地中的算力痛点 随着人工智能技术的飞速发展&#xff0c;自然语言处理&#xff08;NLP&#xff09;成为了热门的研究领域之一。在这一领域中&#xff0c;大语言模型&#xff08;Large Language Models&#xff09;凭借其强大的语言理解和生成能力&#xff…

学习笔记-华为IPD转型2020:3,IPD的实施

3. IPD的实施 1999 年开始的 IPD 转型是计划中的多个转型项目中的第一个&#xff08;Liu&#xff0c;2015&#xff09;。华为为此次转型成立了一个专门的团队&#xff0c;从大约20人开始&#xff0c;他们是华为第一产业的高层领导。董事会主席孙雅芳是这个团队的负责人。该团…

【Maven】使用maven-jar、maven-assembly、maven-shade优雅的实现第三方依赖一同打Jar包

文章目录 一.前言二.常规Jar 打包&#xff1a;maven-jar-plugin三.Shade 打包&#xff1a;maven-shade-plugin1.如何使用2.将部分jar包添加或排除3.将依赖jar包内部资源添加或排除4.自动将所有不使用的类排除5.将依赖的类重命名并打包进来 &#xff08;隔离方案&#xff09;6.修…

【Linux】项目部署CPU彪高如何定位

1.查看所有CPU占比 使用top指令获取彪高进程的PID 2.输出进程的信息 ps H -eo pid,tid,%cpu | grep 1313 3.查看线程的信息 jstack tid nid都是十六进制的 4.进制转换 将 tid的十进制转为十六进制 找到nid 可以定位到具体位置 5.关闭程序 ps -ef | grep java kill -9 jav…

机器人路径规划:基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(提供Python代码)

迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的&#xff0c;因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法&#xff0c;解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始&#xff0c;采用贪心算法的策略&#…

通过更新路书当前坐标下marker的icon来展示沿途的风景

通过更新路书当前坐标下marker的icon来展示沿途的风景 1.效果图2.[工程链接](https://download.csdn.net/download/m0_61864577/88978866)3.需修改地方: 本文演示了如何通过百度地图的路书功能,展示途经的风景。定时缩放,既有全局路径,又有当前位置和运动轨迹;可以显示当前坐标…

万界星空科技铜拉丝行业生产管理MES系统

铜拉丝加工作为金属加工行业中的一个重要分支&#xff0c;在国内乃至全球工业领域都扮演着不可或缺的角色。特别是在高导材料领域&#xff0c;铜拉丝加工更是发挥着重要作用。 铜作为一种传统的金属材料&#xff0c;其拉丝加工技术早在古代就有应用。随着工业化进程的加快&…

综合练习(python)

前言 有了前面的知识积累&#xff0c;我们这里做两个小练习&#xff0c;都要灵活运用前面的知识。 First 需求 根据美国/英国各自YouTube的数据&#xff0c;绘制出各自的评论数量的直方图 第一版 import numpy as np from matplotlib import pyplot as plt import matplo…