| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MYSQL一(1、mysql的架构介绍) -> 正文阅读 |
|
[大数据]MYSQL一(1、mysql的架构介绍) |
一、Mysql简介 MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。 Mysql 可以允许于多个系统上,并且支持多种语言。这些编程语言包括 C 、 C++ 、 Python 、 Java 、 Perl 、 PHP 、 Eiffel 、 Ruby 和 Tcl 等。 二、Mysql高级 1、数据库内部结构和原理,数据库建模优化,数据库索引建立 2、SQL语句优化,SQL编程 3、mysql服务器的安装配置 4、数据库的性能监控分析与系统优化,各种参数常量设定 5、主从复制 6、分布式架构搭建、垂直切割和水平切割,数据迁移 7、容灾备份和恢复 8、shell或python等脚本语言开发 9、对开源数据库进行二次开发 三、MysqlLinux版的安装 ?1、? 本人是mac m1版可看连接地址 mac m1 的linux 安装装msql5.7 已解决_CB_Beginner的博客-CSDN博客 ?2、mysql 配置 ? ? ? ? 开机自启动服务
查看运行级别
1:mysql的启动文件位置 2:mysql数据存储的位置 3: 进程pid文件 ? ?3、查看数据字符集
?修改字符集配置 在/usr/share/mysql/ 中找到my.cnf的配置文件, 拷贝其中的my-huge.cnf 到 /etc/? 并命名为my.cnf? mysql 优先选中 /etc/ 下的配置文件 然后修改my.cnf: [client] default-character-set=utf8 [mysqld] character_set_server=utf8 character_set_client=utf8 collation-server=utf8_general_ci [mysql] default-character-set=utf8 四、Mysql的配置文件 1、二进制日志 ? ? ? ? 用于主从复制log-bin 2、错误日志 ? ? ? ? log-error 3、查询日志 ????????默认关闭,记录查询的sql语句,如果开启会减低mysql的整体性能,因为记录日志也是需要消耗系统资源的 4、数据文件 ? ? ? ? frm文件:存放表结构 ? ? ? ? myd文件:存放表数据 ? ? ? ? myi文件:存放表索引 5、如何配置? 五、总体结构 ????????插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离1)、连接层 ?最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。 2)、服务层 2.1 ?? Management Serveices & Utilities : 系统管理和控制工具?? 2.2? SQL Interface : SQL接口 ????? 接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL Interface 2.3 Parser : 解析器 ?????? SQL命令传递到解析器的时候会被解析器验证和解析。? 2.4 Optimizer : 查询优化器。 ???? SQL语句在查询之前会使用查询优化器对查询进行优化。? ???? 用一个例子就可以理解: select uid,name from user where? gender= 1; ???? 优化器来决定先投影还是先过滤。 ?? 2.5 Cache和Buffer: 查询缓存。 ????? 如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。 ????? 这个缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,key缓存,权限缓存等 ???????缓存是负责读,缓冲负责写。 3)、引擎层 存储引擎层,存储引擎真正的负责了MySQL中数据的 存储和提取 ,服务器通过API与存储引擎进行通信。不同的存储引擎具有的功能不同,这样我们可以根据自己的实际需要进行选取。后面介绍MyISAM和InnoDB 4)、存储层 ? 数据存储层,主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互。 六、存储引擎 ? ? ?1)、?看你的 mysql 当前默认的存储引擎?
2)、引擎介绍 1、InnoDB存储引擎 InnoDB是MySQL的默认 事务型引擎 ,它被设计用来处理大量的短期(short-lived)事务。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。 行级锁,适合高并发情况 2、MyISAM存储引擎 MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM 不支持事务和行级锁(myisam改表时会将整个表全锁住) ,有一个毫无疑问的缺陷就是崩溃后无法安全恢复。 3)、对比 innoDB支持行锁 能高并发,MyISAM 支持表锁不适合高并发 ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 12:41:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |