0
点赞
收藏
分享

微信扫一扫

Python安装llama库出错“metadata-generation-failed”

王传学 2024-09-11 阅读 21

目录

一、登录 MySQL

二、MySQL的部署

三、什么是数据库

3.1 数据库概念 

3.2 服务器,数据库,表关系

3.3 SQL 分类

四、MySQL架构

五、初识Linux下的MySQL

5.1 创建数据库

5.2 创建表

5.3 表中插入数据 


一、登录 MySQL

mysql -h 127.0.0.1 -P 3306 -u root -p

二、MySQL的部署

在主机中,可以看到存在 mysql 文件夹与 mysqld 文件夹,

其中,mysql指的是数据库服务的客户端;mysqld指的是数据库服务的服务端。

从这里不难看出,MySQL本质是基于C(Client,即mysql)S(Server,即mysqld)模式的一种网络服务。

三、什么是数据库

3.1 数据库概念 

说白了,数据库其实就是用户将数据保存在文件过程的中介中,那么为什么用户不直接将数据存储在文件中

文件只提供了存储的功能,但是没有提供很好的对文件内容进行增删查改的能力。


以图的形式来看,用户在外只需要访问 mysql ,对 mysql 执行对应的 sql 句柄,后台由 mysqld 对磁盘存储的数据库文件进行相关的操作,用户并不关心。
这是不是与面向对象的思想类似?或者说面向对象的思想才是计算机帮人们解决问题的思想。 

3.2 服务器,数据库,表关系

在某个软件或某一程序中,所有数据都存在同一数据库中显然是不合理的,假设在某一购物软件中,存在全部订单、待支付订单、退款/售后订单,这些数据还需要建立多个数据库来存储吗?
其实只需要在一个数据库下建立表即可,下面来看看它们之间的关系:

从上图中的信息可以看出来,Linux一切皆文件的特点,数据库在Linux下就是一个目录,数据库表就是目录下的一个文件。下面来见一下Linux下的MySQL。

3.3 SQL 分类

四、MySQL架构

MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

从上图可以看出MySQL的基本架构:
Client Connectors(客户端连接器)
JDBC, ODBC, .NET, PHP, Python, PERL, C API 等客户端接口:这些连接器允许不同编程语言和框架与MySQL服务器进行通信。它们通过标准化的协议与MySQL服务器建立连接,执行SQL语句,并接收服务器返回的数据。

MySQL Server(MySQL服务器核心部分):

Connection Pool(连接池):负责连接管理、身份验证和安全性。它通过连接池减少频繁打开和关闭连接的开销,提高了性能。
Services & Utilities(服务和实用工具):包含诸如备份恢复、安全性、集群、分区管理等功能,以及用于管理数据库的工具
SQL Interface(SQL接口):提供了执行SQL语句(如DML、DDL等)的接口。支持存储过程、触发器、视图等高级功能。
Parser(解析器):包括词法分析、语法分析和代码生成:解析输入的SQL语句,将其分解为可以进一步处理的元素,并生成内部表示供优化器使用。
Optimizer(优化器):负责SQL查询的重写、扫描和索引的顺序选择等,确保SQL查询执行的效率达到最佳。
Caches(缓存):包括全局缓存和针对具体存储引擎的缓存,帮助加快数据查询和写入的速度。缓存用于减少磁盘I/O操作,提升查询性能。

Pluggable Storage Engines(可插拔存储引擎)
MySQL支持不同的存储引擎,用户可以根据不同的业务场景选择适合的存储引擎。
目前MySQL主流的引擎是 MyISAM (早期的默认存储引擎) 和 InnoDB (现在的默认引擎)

五、初识Linux下的MySQL

在Linux下,数据库目录一般是 /var/lib/mysql ,可以 cd 进入该目录然后查看。

5.1 创建数据库

当新建数据库时,可以在不同的终端上查看到新建的目录:

这就说明了在Linux下,数据库就是一个目录。

5.2 创建表

创建表之前,需要先使用数据库,至少让数据库知道你要操控的是哪个数据库吧!

然后就可以进行创建表了,这里随便创建一个日期类:

紧接着就可以在 helloworld 目录下查看到有一个新建的文件 date.ibd 

5.3 表中插入数据 

从查看表也能知道,MySQL是一个行列式的存储结构:

举报

相关推荐

0 条评论