一、数据库服务工作模型

数据库服务在实际应用过程中,是采用C/S(客户端/服务端)模型方式进行工作的;并利用socket(套接字)与TCP/IP建立连接通信;

  • 客户端部分:
序号 客户端工具 相关软件命令
01 数据库自带客户端命令(管理人员) mysql、mysqladmin、mysqldump
02 第三方软件客户端工具(开发人员) sqlyog、navicat、workbench
03 应用程序客户端连接器(API) pymysql、gomysql、php-mysql、libmysqlclient.jar
  • 服务端部分:
序号 服务端进程 备注说明
01 mysqld 服务端处理客户端连接请求进程
  • 连接方式:
序号 连接方法 备注说明
01 本地方式连接 利用socket文件实现本地连接数据库服务(本地unix套接字)
02 远程方式连接 利用TCP/IP方式实现远程连接数据库服务(网络socket方式)

Day005-数据库服务体系结构-图1

二、数据库服务实例构成

数据库服务实例就是程序运行工作的一种方式,会占用一定的内存资源和CPU资源,并且会派生出多个线程完成不同的任务需求;

MySQL实例 = mysqld + master thread监控管理 + 具体干活的thread(IO/SQL/Purge...) + 预分配的内存结构

简单来说:mysql实例就是占用内存资源的统称,利用mysql实例可以对数据进行处理;

实例工作示意图:

Day005-数据库服务体系结构-图2

课程知识补充:内存结构介绍说明

序号 组成部分 作用说明
第00部分 内核预留内存 主要保证系统正常运行内存空间
第01部分 RSS 常驻内存集(Resident Set Size) 主要提供给进程 线程使用
第02部分 page cache 页缓存部分 最大区域(buffer cache) 主要提供给数据进行缓冲
第03部分 anon page 匿名页部分 最小区域 主要处理中间数据(临时数据)

说明:在系统中运行mysql服务时,会在RSS和page cache内存区域进行预留,提供数据库服务运行和数据存储使用