数据库浅识及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不能混用
-
-
-
进入数据库进行测试看是否成功
-
-
-
相关文章:

数据库浅识及MySQL的二进制安装
数据库基础概念与MySQL二进制安装与初始化 使用数据库的必要性 数据库可以结构化储存大量数据信息,方便用户进行有效的检索访问 有效的保持数据信息的一致性,完整性,降低数据冗余 可以满足应用的共享和安全方面的要求 数据库基本概念 数据…...

机器学习之数学基础(七)~过拟合(over-fitting)和欠拟合(under-fitting)
目录 1. 过拟合与欠拟合 1.1 Preliminary concept 1.2 过拟合 over-fitting 1.3 欠拟合 under-fitting 1.4 案例解析:黑天鹅 1. 过拟合与欠拟合 1.1 Preliminary concept 误差 经验误差:模型对训练集数据的误差。泛化误差:模型对测试…...

⭐最新版!SpringBoot正确集成PageHelper姿势,不再被误导!
GGBond🔈 CSDN的朋友们大家好哇,我是新来的Java练习生 CodeCodeBond! 什么是PageHelper? 这里给不知道的人儿说明一下~~ 知道的xdm可以跳过了! PageHelper顾名思义是一个 页面 帮手。也就是分页查询的一个好用的工具…...

解决:Xshell通过SSH协议连接Ubuntu服务器报“服务器发送了一个意外的数据包,received:3,expected:20”
下图所示: 日志也基本看不出来问题在哪,只是说断开了连接大概是验证失败。有幸在某论坛评论区找到了原因,是因为我的xshell版本太低了而服务器的ssh版本太高,高版本的ssh默认屏蔽了一部分不太安全的算法导致建立连接的时候验证失败…...

[学习笔记] 禹神:一小时快速上手Electron笔记,附代码
课程地址 禹神:一小时快速上手Electron,前端Electron开发教程_哔哩哔哩_bilibili 笔记地址 https://github.com/sui5yue6/my-electron-app 进程通信 桌面软件 跨平台的桌面应用程序 chromium nodejs native api 流程模型 main主进程 .js文件 node…...
Java stream操作流常用的方式
在Java中,Stream操作流是Java 8新引入的一个功能,它提供了很多强大的操作,方便我们进行集合的处理和操作。常用的Stream操作方式有: 1.过滤:使用filter()方法可以过滤掉集合中不符合条件的元素。 2.映射:…...

【C#】图形图像编程
实验目标和要求: 掌握C#图形绘制基本概念;掌握C#字体处理;能进行C#图形图像综合设计。 运行效果如下所示: 1.功能说明与核心代码 使用panel为画板,完成以下设计内容: 使用pen绘制基础图形;使…...

埃特巴什码加解密小程序
埃特巴什码加解密小程序 这几天在看CTF相关的课程,涉及到古典密码学和近代密码学还有现代密码学。 简单替换密码 Atbash Cipher 埃特巴什码(Atbash Cipher)其实可以视为下面要介绍的简单替换密码的特例,它使用字母表中的最后 一个字母代表第一个字母…...

Golang笔记:使用serial包进行串口通讯
文章目录 目的使用入门总结 目的 串口是非常常用的一种电脑与设备交互的接口。这篇文章将介绍golang中相关功能的使用。 本文使用的包为 :go.bug.st/serial https://pkg.go.dev/go.bug.st/serial https://github.com/bugst/go-serial 另外还有一些常见的包如&…...
EasyExcel 导出批注信息
1. 批注信息 package com.xxx.demo;import lombok.Getter;/*** This class represents the comment information associated with a specific cell in an Excel sheet.* The columnIndex field specifies the column number of the cell, and the comment field stores the te…...

HttpServletRequest・getContentLeng・getContentType区别
getContentLength(): 获取客户端发送到服务器的HTTP请求主体内容的字节数(长度) 如果请求没有正文内容(如GET),或者请求头中没有包含Content-Length字段,则该方法返回 -1 getContentType()&am…...

Matlab|【防骗帖】考虑时空相关性的风电功率预测误差建模与分析
目录 1 主要内容 2 部分程序 3 下载链接 1 主要内容 这个程序《考虑时空相关性的风电功率预测误差建模与分析》画的图片非常漂亮,和原文献基本一致,但是实际上内容并未实现出来,主要就是利用现有的风电预测的数据和结果做了相关的图&#…...
【Android面试八股文】说一说ListView卡顿的原因以及相对应的优化策略
文章目录 一、ListView卡顿的原因1.1 Item没有复用1.2 布局的层级过深1.3 数据绑定逻辑过多1.4 滑动时不必要的图片刷新1.5 频繁的notifyDataSetChanged二、优化策略2.1 使用 ViewHolder 进行视图复用2.2 优化布局结构2.3 优化数据绑定逻辑过多2.4 图片加载优化2.5 避免频繁调用…...

Kotlin 中的内联函数
1 inline 内联函数:消除 Lambda 带来的运行时开销。 举例来说: fun main() {val num1 100val num2 80val result num1AndNum2(num1, num2) { n1, n2 ->n1 n2} }fun num1AndNum2(num1: Int, num2: Int, operation: (Int, Int) -> Int): Int …...
KALI LINUX 开启ssh免登录服务及固定ip及
SSH以进行远程登录 在Kali Linux中启用SSH以进行远程登录,请按照以下步骤操作: 安装SSH服务:sudo apt update sudo apt install openssh-server 已安装可忽略 sudo systemctl start ssh 启动SSH服务 sudo systemctl enable ssh 确保SSH服务设置为开机启动: (可选)如…...

亮数据,一款新的低代码爬虫利器!
在当今数据驱动型时代,数据采集和分析能力算是个人和企业的核心竞争力。然而,手动采集数据耗时费力且效率低下,而且容易被网站封禁。 我之前使用过一个爬虫工具,亮数据(Bright Data) ,是一款低…...

配置OSPF认证(华为)
#交换设备 配置OSPF认证-基于华为路由器 OSPF(开放最短路径优先)是一种内部网关协议(IGP),用于在单一自治系统(AS)内决策路由。OSPF认证功能是路由器中的一项安全措施,它的主要用途…...

关于ip地址的网页无法访问navigator的gpu、媒体、蓝牙等设备的解决方法
在使用threejs的WebGPURenderer渲染器时,发现localhost以及127.0.0.1才能访问到navigator.gpu,直接使用ip会变成undefined,原因是为了用户的隐私安全,只能在安全的上下文中使用,非安全的上下文就会是undefined,安全上下…...
深入理解外观模式(Facade Pattern)及其实际应用
引言 在软件开发中,复杂的系统往往由多个子系统组成,这些子系统之间的交互可能非常复杂。外观模式(Facade Pattern)通过为这些子系统提供一个统一的接口,简化了它们的交互。本篇文章将详细介绍外观模式的概念、应用场…...

为什么永远不会有语言取代 C/C++?
每个 CPU 都带有一种称为 ISA(指令集架构)汇编的电路语言。ISA 程序集是一种硬件语言,由基本数据操作、数学计算和结构化编程(即 jmp)的操作组成。但是,为每个计算需求编写汇编代码无疑是耗时的,…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...