首页 > 数据库 >mysql的配置文件和逻辑架构

mysql的配置文件和逻辑架构

时间:2022-11-24 15:35:40浏览次数:40  
标签:存储 架构 log 配置文件 查询 引擎 mysql 数据


二进制日志

log-bin——主从复制——log-bin=mysql-bin

错误日志

log-error——默认是关闭的,记录严重的警告和错误信息,每次启动和关闭的详细信息等。

——log-error = var/log/mysqld.log

查询日志

数据文件

        linux系统:

                 查询命令:cd /var/lib/mysql

                                    ls -l | grep ^d

                 默认路径: /var/lib/mysql

        frm文件:存放表结构;

        myd文件:存放表数据;

        myi文件:存放的是索引;

连接层

提供客户端和连接服务,包含本地Socket通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信,主要完成一些类似于连接处理、授权证书及相关的安全方案,在该层上引入了线程池的概念,为通过认证安全的客户端提供线程,同样在该层上可以基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。

注意:分配数据库连接池,控制数据库的连接和关闭资源。

业务逻辑处理层

主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化及部分内置函数的操作。所有跨操作引擎的功能也在这一层实现,如过程,函数等。在该层服务器会解析并查询内部解析树,并对其完成相应的优化如确定查询表的顺序,是否利用索引等,最后生成相应的直行操作。如果是select语句,服务器还会查询内部的缓存,如果缓存空间足够大,这样在解决大量读操作的环境中能够很好的提升系统的性能。

注意:提供sql操作的接口,对sql脚本按一定规则进行解析,并通过sql优化器执行顺序,对于查询的语句还会进入缓存区,提升系统的性能。

数据存储引擎层

存储引擎真正的负责了mysql中数据的存储和提取,服务器通过API与存储引擎进行通信,不同的存储引擎具有的功能不同,这样我们可以根据自己的实际需要进行选取。

注意:存储引擎都是可拔插的,每个存储引擎所提供的服务都有所差异,所以我们需要根据业务需要,选择合适的存储引擎,常用的只有MyISAM和InnoDB。

数据存储层

主要是将数据存储在运行于裸设备的文件系统上,并完成与存储引擎的交互。

注意:将数据存储到磁盘上,并协同存储引擎对数据进行读写操作。

总结:

数据库逻辑结构分为四层,分别是连接层(线程连接池)、业务逻辑处理层(SQL解析读取)、数据存储引擎层(存储引擎)、数据存储层(数据存储

和其他数据库比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用,主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取相分离,这种架构可以根据业务的需求和实际需要选择合适的存储引擎。

标签:存储,架构,log,配置文件,查询,引擎,mysql,数据
From: https://blog.51cto.com/u_15890333/5884040

相关文章

  • mysql 表字段约束条件
    目录无符号、零填充非空默认值唯一值主键自增外键前戏关系的判断一对多的关系外键字段的建立多对多关系一对一关系无符号、零填充unsigned idintunsignedzerofill i......
  • MySQL数据库管理
    一、MySQL数据库管理1、库和表行(记录):用来描述一个对象的信息列(字段):用来描述对象的一个属性2、常用的数据类型int:整型float:单精度浮点4字节32位double:双精度浮点......
  • [MySQL] 报错 SELECT list is not in GROUP BY clause and contains nonaggregated co
    报错Expression#1ofSELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn'XXX'whichisnotfunctionallydependentoncolumnsinGROUPBY......
  • 浅谈mysql高性能调优(一)
    mysql的问题介绍(一)mysql索引的实现原理和数据结构mysql索引设计的技巧mysql聚簇索引和非聚簇索引的区别mysql索引的中级调优方案mysql分布式集群的设计原则mysql如何实现高......
  • lightdb开启mysql兼容模式
    首先,从www.hs.net/lightdb下载最新版本并在安装时选择oracle模式,如下:  http://www.light-pg.com/docs/LightDB_Install_Manual/13.8-22.3/install.html#guilight......
  • mysql导入导出
    一、导出数据库1、导出完整数据:表结构+数据(abc是数据库)mysqldump-uroot-pabc>abc.sql2、只导出表结构mysqldump-uroot-pabc>abc.sql二、导入数据库1、......
  • Docker安装及MySQL、Redis等配置
    Docker安装(CentOS版本)Docker安装文档:链接1、卸载系统之前的dockersudoyumremovedockerdocker-clientdocker-client-latestdocker-commondocker-latest\docker-......
  • 乐维监控与Zabbix对比分析(一)——架构、性能
    近年来,Zabbix凭借其近乎无所不能的监控及优越的性能一路高歌猛进,在开源监控领域独占鳌头;而作为后起的新锐监控平台——乐维监控,则不断吸收Zabbix,Prometheus等优秀开源平台......
  • MySQL_SQL_预编译
    预编译应该是PrepareStatement(先编译后执行)(mybatis的底层原理)SQL执行器是Statement(编译并执行,完整的sql) Mybatis的#{}与${},#{}:表示预编译(SQL预编译–安全的),${}:表......
  • MySQL8.0新特性—CTE
    MySQL8支持公用表表达式,包括非递归和递归两种。公用表表达式允许使用命名的临时结果集,这是通过允许在SELECT语句和某些其他语句前面使用WITH子句来实现的。不能在同一查......