数据库浅识及MySQL的二进制安装

  • 数据库基础概念与MySQL二进制安装与初始化

    • 使用数据库的必要性

      • 数据库可以结构化储存大量数据信息,方便用户进行有效的检索访问

      • 有效的保持数据信息的一致性,完整性,降低数据冗余

      • 可以满足应用的共享和安全方面的要求

    • 数据库基本概念

      • 数据

        • 描述事物符号的记录称为数据,

          • 在数据库中以“记录“的形式按照统一的格式进行存储。

            • 一条记录

        • 存放数据的东西

          • 每张表存放的数据都必须是相同属性

            • 猪和石头不能在同一张表中

      • 数据库

        • 表是数据的集合,数据库是多张表的集合

      • 数据库管理系统(DBMS)

        • 从软件的层面来说

          • 例如mysql ,Oracle都是数据库管理系统

            • 具备的功能

              • 数据库的建立与维护功能

                • 建立数据库结构和数据的录入与转换,数据库的转储与恢复,数据库的重组与性能监视等。

              • 数据定义功能

                • 定义全局数据结构,局部逻辑数据结构,储存结构,保密模式,信息格式等。确保数据正确,有效与相容。

              • 数据操纵功能

                • 数据查询统计

                • 数据更新

              • 数据库的运行管理功能

                • 并发控制

                • 存取控制

                • 数据库内部维护等功能

              • 通信功能

                • 与其他的软件的通信

      • 数据库系统

        • 一个人-机系统,由各种各样的组件构成,数据库管理系统也只是其中一项·。

      • E-R图(实体-关系图)

          • 方框:实体

          • 菱形:关系

          • 椭圆:实体属性

      • 为了确保数据库的准确性,所以由”完整性约束“

        • 实体完整性

          • 要求记录在主键上不能有空值

          • 主键:不重复性决定了唯一性

            • 在一个实体中主键只能有一个

          • 外键:其它实体中的主键

            • 实体可以通过主键,外键来建立联系

        • 域完整性(列完整性)

          • 指定一个数据集对某一个列是否有效或者确定是否允许空值。

            • 例如定义性别字段只能取值为男或者女,不能是其他无效值。

              • 确保列(属性)录入的数据的正确性。

        • 引用完整性

          • 要求调用其它实体时,必须确保引用的实体的正确性。

            • 如果两个表之间相互关联,那么不允许引用不存在的记录

        • 用户自定义完整性

          • 类似于身份证,自己去规定各种属性(如数据类型,长度等。)

      • 存储引擎

        • 数据库的核心

    • 数据库发展历史

      • 1960年往后初具雏形,

        • 第一代,以层次模型和网状模型为主

        • 第二代,以关系模型为主

        • 第三代,以面向对象的模型为主,关系-对象模型。

      • 非关系数据库(nosql)

        • 例如储存日志信息

          • ”键-值“对

        • 代表产品

          • redis

          • mongodb

        • 基于内存

          • 读写速度快,断电没,适合高速处理各种大量数据

          • 通过内存数据持久化,快照机制,追加机制,集群,来解决断电没的缺点。

        • 优点

          • 高并发读写

          • 高存储效率

          • 高扩展

          • 高可用

      • 关系数据库

        • 基于硬盘,设置缓冲区,异步储存数据

        • 读写速度

          • 寄存器,缓存级,内存,固态,硬盘

        • 基本结构

          • 通常以二维表的形式储存数据

          • 数据表中的行被称为记录或者元组

          • 数据表中的列被称为属性或者字段

          • 主键

            • 数据表中具有唯一性的列的值

              • 有且只有一个

            • primary key

            • 键:关键字

          • 外键

            • 其他表的主键

    • mysql部署调试

      • MySQL优点

        • 开源免费,跨平台

        • 多线程,多用户

        • 高性能,高可靠

        • 基于c/s架构

      • 部署

        • 安装前奏

          • 检测是否安装Mariadb如果有将其卸载

          • 添加策略或关闭防火墙,临时并永久关闭内核安全机制。

          • 安装依赖环境

            • gcc

              • GNU C语言 编译器

            • libaio

              • (async)异步 (i/o)输入输出(lib)库

          • 创建程序用户

            • useradd -M -s /sbin/nologin mysql

        • 安装

          • 解压并移动重命名到常用位置/usr/local/mysql

          • 创建data目录并更改属主属组

          • 移动到bin目录下执行mysqld脚本进行初始化

            • ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

              • 再次初始化需要删除data目录。需谨慎

              • 记录下初始化后的临时密码

        • 调试

          • 设定配置文件

            • [client]

              • socket=/usr/local/mysql/data/mysql.sock

            • [mysqld]

              • socket=/usr/local/mysql/data/mysql.sock

              • bind-address = 0.0.0.0

                • 监听所有网卡的IP地址,并且需要防火墙也允许

              • port = 3306

                • 监听端口

              • skip-name-resolve

                • 跳过域名解析

              • basedir=/usr/local/mysql

                • 基础目录

              • datadir=/usr/local/mysql/data

                • 数据目录

              • max_connections=2048

                • 最大连接数量

              • character-set-server=utf8

                • 默认字符集

              • default-storage-engine=INNODB

                • 默认储存引擎

              • lower_case_table_names=1

                • 启用大小写不敏感

              • max_allowed_packet=16M

                • 最大sql数据的大小

              • 忘记密码的办法

                • skip-grant-tables

                  • 跳过权限表使用空密码登录

                    • 进入MySQL系统修改完毕后再把该语句取消

            • [mysqld_safe]

              • log-error=/usr/local/mysql/data/error.log

                • 状态日志的位置,在初始化时可以将其调到mysqld中,避免忘记临时密码,事后要及时修改密码。

              • #pid-file=/var/run/mariadb/mariadb.pid

          • 设置为全局命令

            • 软链接等多种方式

          • 设置为systemd的管理

            • [Unit] Description=mysqld After=network.target [Service] Type=forking ExecStart=/etc/rc.d/init.d/mysqld start ExecReload=/etc/rc.d/init.d/mysqld reload ExecStop=/etc/rc.d/init.d/mysqld stop PrivateTmp=true [Install] WantedBy=multi-user.target

              • privateTmp

                • 启用私有临时目录,避免数据信息泄露的风险

            • 注意systemctl与service不能混用

        • 进入数据库进行测试看是否成功

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis学习|Redis 是什么、Redis 能干嘛、Window安装Redis、Linux下安装Redis、Redis测试性能

Redis 是什么? Redis(Remote Dictionary Server),即远程字典服务! 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API. redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记…

C++:STL容器-map

C:STL容器-map 1. map构造和赋值2. map大小和交换3. map插入和删除4. map查找和统计5. map容器排序 map中所有元素都是pair(对组) pair中第一个元素为key(键),起到索引作用,第二个元素为value(实…

揭秘古代手术工具与技术:从中国起源的医疗奇迹

在人类历史的长河中,医学的发展一直是推动社会进步的重要力量。而手术作为医学的一个重要分支,其发展历程同样充满了传奇色彩。今天,我们将带您走进古代手术的世界,揭秘那些令人惊叹的手术工具和技术。 这把手术刀出土于河北西村遗…

红队内网攻防渗透:内网渗透之内网对抗:横向移动篇入口切换SMB共享WMI管道DCOM组件Impacket套件CS插件

红队内网攻防渗透 1. 内网横向移动1.1 WMI进行横向移动1.1.1 利用条件:1.1.1 利用详情1.1.1.1 wmic1.1.1.1.1 正向shell上线1.1.1.1.2 反向shell上线1.1.1.2 cscript(不建议使用)1.1.1.3 wmiexec-impacket1.1.1.4 cs插件1.2 SMB横向移动1.2.1 利用条件:1.2.2 利用详情1.2.2…

java中Object和json相互转换的方式

1.org中jackson转换json,springboot中内置jackson ObjectMapper onew ObjectMapper(); List<>listnew ArrayList(); String jonso.writeAsValueString(list); 2.alibaba中fastjson转换成json GetMapping("/test")public TbUser testHttpClient(){String url…

BFS:解决最短路问题

文章目录 什么是最短路问题&#xff1f;1.迷宫中离入口最近的出口2.最小基因变化3.单词接龙4.为高尔夫比赛砍树总结 什么是最短路问题&#xff1f; 最短路问题是图论中的经典问题&#xff0c;旨在寻找图中两个节点之间的最短路径。常见的最短路算法有多种&#xff0c;这次我们…

计算机组成原理 | 硬件电路整理

计算机组成原理 | 硬件电路整理 桶形移位器原理图 全加器逻辑框图 多位可控加减法电路逻辑框图 可级联的4位先行进位电路 4位快速加法器 16位组内并行、组间并行加法器 实现原码一位乘法的逻辑框图 补码一位乘法的逻辑框图 无符号数阵列乘法器 原码不恢复余数法硬件逻辑框图 基…

代码随想录第31天|贪心算法

134. 加油站 参考 思路: 以每个油站相差作为判断, 比如: gas [5 8 2 8]cost [6 5 6 6] [-1 3 -4 2]错误 : 把相差最大点当作起点判断能否绕一圈 : 相加数组是否小于0局部最优: 当前累加rest[i]的和curSum一旦小于0&#xff0c;起始位置至少要是i1&#xff0c;因为从i…

中国信通院专访镜舟科技:开源商业化走了多远?

据《2023 中国开源发展蓝皮书》显示&#xff0c;随着数字化转型的深入&#xff0c;开源生态在去年快速发展&#xff0c;开源商业化的模式也逐渐成型。镜舟科技作为开源商业化的先行者&#xff0c;也在技术创新和商业拓展中稳步增长。 日前&#xff0c;中国信息通信研究院&…

【Gradio】如何设置 Gradio 数据框的样式

简介 数据可视化是数据分析和机器学习的关键方面。Gradio DataFrame 组件是一种流行的方式&#xff0c;在网络应用程序中显示表格数据&#xff08;特别是以 pandas DataFrame 对象的形式&#xff09;。 本文将探讨 Gradio 的最新增强功能&#xff0c;这些功能允许用户整合 pand…

21.智能指针(上)

目录 一、概念二、Box\<T\>2.1 概念与应用场景2.2 简单应用2.3 递归类型的创建 三、通过Deref trait将智能指针当作常规引用处理3.1 常规引用3.2 像引用一样使用Box\<T\>3.3 自定义智能指针3.4 函数和方法的隐式解引用强制转换3.5 解引用强制转换与可变性交互 四、…

WPF文本绑定显示格式StringFormat设置-数值类型处理

绑定显示格式设置 在Textblock等文本控件中&#xff0c;我们经常要绑定一些数据类型&#xff0c;但是我们希望显示的时候能够按照我们想要的格式去显示&#xff0c;比如增加文本前缀&#xff0c;后面加单位&#xff0c;显示百分号等等&#xff0c;这种就需要对绑定格式进行处理…

SpringBoot 搭建sftp服务 实现远程上传和下载文件

maven依赖&#xff1a; <dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.55</version> </dependency>application.yml sftp:protocol: sftphost: port: 22username: rootpassword: sp…

【CSS in Depth2精译】1.4 简写属性

文章目录 1.4 简写属性1.4.1 当心简写属性悄悄覆盖其他样式1.4.2 记住简写值的顺序1 上、右、下、左顺序2 先水平、再垂直的顺序 1.4 简写属性 简写属性&#xff08;Shorthand properties&#xff09; 是可以一次性设置多个属性值的样式属性。例如&#xff0c; font 就是一个简…

考前刷题练手感(北航期末往年数据结构编程题)

本次因为是考前一天极速刷题&#xff0c;所以没有讲解&#xff0c;若有问题可私信。 目录 一、 查找同时空人员二、 老鼠回家-无回路三、函数调⽤关系四、东二食堂模拟五、栈帧 一、 查找同时空人员 【问题描述】 假设一共有6个手机基站&#xff0c;都具有记录手机连接基站状…

【MMSegmentation 环境配置】

MMSegmentation 环境配置 1. 创建python 环境2. 安装pytorch3. 安装MMCV4. 安装 MMSegmentation.5. 测试是否安装成功 1. 创建python 环境 conda create --name openmmlab python3.8 -y conda activate openmmlab2. 安装pytorch On GPU platforms: conda install pytorch tor…

C语言第17篇:预处理详解

1、预定义符号 C语言设置了一些预定义符号&#xff0c;可以直接使用。预定义符号也是在预处理期间处理的。 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI…

国产化操作系统杂谈

目录 操作系统国产化背景国产化操作系统名录优秀操作系统介绍1.深度Linux&#xff08;deepin&#xff09;2.FydeOS3.AliOS&#xff08;openAliOS&#xff09;4.openEuler5.红旗Linux6. startOS 总结 操作系统国产化背景 官方的说法是为了打破长期以来国外对中国的操作系统的垄…

高级算法入门必看—21个NPC问题及其证明

文章目录 前言一、布尔可满足性问题二、每子句至多3个变量的布尔可满足性问题&#xff08;3-SAT&#xff09;三、0-1整数规划&#xff08;0-1 integer programming&#xff09;四、Set packing&#xff08;Set packing&#xff09;五、最小顶点覆盖问题&#xff08;Vertex cove…

FOC方案大合集!

获取链接&#xff01;&#xff01;&#xff01; 本次小编给大家带来了一份FOC的方案大合集。此套方案是基于峰岹科技FU68系列MCU的系列方案&#xff0c;包含常用的无感&#xff0c;有感无刷电机的应用&#xff0c;每份方案都包含了原理图&#xff0c;PCB&#xff0c;代码文件&…