目录
什么是数据库
客户端-服务器(Client-Server)
数据库分类
MySQL服务器安装
内存和外存
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。
数据库(Database)是一种结构化数据的集合,以及用于存储、管理、检索和操作这些数据的系统。数据库的存在是为了解决数据存储和管理的各种问题,相对于简单的文件存储,数据库具有以下优点:
总之,数据库系统是一种专门设计用于高效、安全、可管理和可扩展地存储和操作数据的软件。在许多应用程序和业务场景中,使用数据库能够更好地满足数据管理的需求,提高了数据的可用性和可靠性。
你还可以说,MySQL是一个客户端-服务器(Client-Server)架构的数据库管理系统。在这种架构中,客户端和服务器之间通过网络进行通信,实现了多个程序之间的相互作用和协作。
以下是关于MySQL客户端-服务器模型的一些关键概念:
客户端(Client): 客户端是主动发起请求的一方,通常是应用程序或工具,它需要与MySQL服务器进行交互来执行数据库操作。客户端负责向服务器发送SQL查询、更新或其他请求。
服务器(Server): 服务器是被动接受请求的一方,它运行MySQL数据库管理系统,并等待来自客户端的连接请求。一旦建立连接,服务器会处理客户端的请求,执行相应的数据库操作,并将结果返回给客户端。
请求(Request): 请求是客户端发送给服务器的数据,通常是包含SQL查询或其他数据库操作的请求。服务器接收到请求后,会解析并执行其中的操作。
响应(Response): 响应是服务器对客户端请求的回应,通常包含查询结果、错误信息或其他相关信息。客户端接收响应后,可以根据需要进行后续处理。
客户端-服务器模型的优点之一是它允许多个客户端同时连接到同一个MySQL服务器,从而实现了多用户的并发访问和操作数据库的能力。这种模型还使得应用程序与数据库之间的分离成为可能,允许不同的应用程序通过相同的服务器与数据库进行交互。
分布式系统也通常采用客户端-服务器架构,这种架构模型在分布式环境中非常常见。在分布式系统中,客户端和服务器之间仍然存在通信和交互,但在这种情况下,客户端和服务器可能分布在不同的物理或虚拟位置,并通过网络进行通信。
分布式系统(Distributed System)是由多个独立的计算机节点或处理单元组成的集合,这些节点通过网络连接在一起,并共同工作以完成特定的、更复杂的任务或提供服务。这些节点可以位于不同的地理位置,彼此之间通过网络通信来协作和共享资源。
数据库可以大致分为关系型数据库(RDBMS)和非关系型数据库(NoSQL数据库),它们在数据组织和存储方式上有很大的区别:
1.关系型数据库(RDBMS):
这种类型的数据库采用了关系模型,将数据组织成二维表格(表)的形式,表之间通过关系(关联键)相互连接。关系型数据库使用SQL(Structured Query Language)进行数据操作和查询。常见的关系型数据库包括:
2. 非关系型数据库(NoSQL数据库):
这种类型的数据库不遵循传统的关系模型,通常用于存储大量非结构化或半结构化的数据。NoSQL数据库有多种类型,包括:
非关系型数据库通常在大数据、实时应用和分布式系统中表现出色,因为它们具有更高的伸缩性和灵活性,能够应对不同类型的数据和工作负载。关系型数据库则更适合需要强一致性和事务支持的应用程序。选择哪种数据库取决于具体的应用需求和数据特点。
你需要安装的是MySQL服务器和客户端。
服务器才是真正的本体,是存储数据的部分。客户端的话都可以,我自己用的是官方客户端(自带命令行客户端),你想用第三方的客户端也可以。
MySQL的最新版本是8.0系列,但是我建议安装5.0系列的(5.6、5.7……都无所谓),因为最新的版本不一定是最好的,可能有些bug。
区区安装这种小事我想应该难不住你。安装教程和视频某站上一搜一大把,我就不多提了……
安装好了之后是这样的:
确保你的服务器是在正常工作了:
命令行客户端:
建议你选择下面那个,因为这两个编码方式不一样,下面那个使用的是utf-8编码。
如果你找不到你的客户端,可以找找MySQL的安装目录:
打开CMD,把它拖过来,输入相关指令,然后再输入密码:
这个密码是你在安装数据库服务器的时候设置的。
如果闪退了,要么服务器没有正常工作,要么就是你的密码输入错误。不要用太复杂的密码,你的数据库非常安全,我想应该没有黑客想要盗取你的数据库吧……
就OK了。
每次从客户端登录都要输密码的。
然后刚刚提到的那个“ "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe" "--defaults-file=C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" "-uroot" "-p" "--default-character-set=utf8" ” 上述这串命令其实就是运行快捷方式。
我们之前提到,MySQL的本体是服务器,在服务器这边来负责存储和管理数据。
那么它是把数据具体存储在那个设备上呢?
MySQL数据库通常将数据存储在硬盘驱动器(Hard Disk Drive,HDD)或固态硬盘(Solid State Drive,SSD)上。这些存储设备是永久性的,用于持久化地存储数据库的数据。
HDD(硬盘驱动器): 传统的机械硬盘驱动器使用旋转磁盘来存储数据,速度相对较慢。它们适合存储大容量的数据,但对于需要快速随机访问的数据库操作来说,性能可能有限。
SSD(固态硬盘): 固态硬盘使用闪存存储数据,速度非常快,对于随机访问非常高效。因此,SSD通常用于需要更快读写速度的数据库应用,能够提供更好的性能。
生活中的硬盘、U盘、软盘、光盘其实都算外存。而且如果一个人和你说:“我这个手机是256G内存的!”,实际上这里的内存并不是真正的内存,而是硬盘。手机真正的内存是“运存”。
既然提到外存,那肯定也要了解一下内存咯~
内存(RAM)和硬盘(硬盘驱动器)是计算机中两种不同类型的存储设备,它们在功能和性能方面有着显著的区别。下面是内存和硬盘的主要区别:
内存(RAM - Random Access Memory):
功能: 内存是计算机用于存储正在运行的程序和数据的临时存储设备。它用于存储当前正在执行的应用程序的代码和数据,以便CPU可以快速访问并执行它们。
速度: 内存的访问速度非常快,几乎是瞬间级别。这使得它非常适合用于暂时存储需要快速访问的数据。
临时性: 内存中存储的数据是临时的,通常在计算机关机或重启时会被清除。它不是永久存储设备。
容量: 内存容量通常相对较小,以GB为单位。它的主要任务是支持当前运行的任务。
硬盘(Hard Disk Drive):
功能: 硬盘是用于永久性存储数据的设备。它可以存储操作系统、应用程序、文档、多媒体文件等数据,并在计算机关闭时保持数据的持久性。
速度: 硬盘的访问速度比内存慢得多,通常以毫秒为单位。尽管较新的固态硬盘(SSD)比传统机械硬盘速度更快,但仍然较内存慢。
持久性: 硬盘中存储的数据是持久的,不会因计算机关机而丢失。
容量: 硬盘的容量通常远大于内存,以TB(千兆字节)为单位,用于存储大量数据。
关于手机内存和存储的区别,你提到的是正确的。手机通常会有两种存储设备:
运行内存(RAM): 也称为手机的内存,用于暂时存储当前运行的应用程序和数据,以便CPU快速访问。它的容量通常以GB为单位。
存储(Storage): 存储是用于永久性存储数据、操作系统、应用程序和文件的设备,通常是硬盘或闪存。它的容量可以非常大,通常以GB或TB为单位。