Welcome 微信登录

首页 / 数据库 / MySQL / MySQL的原理,安装和基本使用

mysql执行流程:mysql是一个单进程的服务,对于每一个请求都是用线程来响应的,这就需要一个连接器来处理新用户的请求,响应,销毁
1.客户端请求,服务器端(连接器)开辟线程响应用户2.用户发起SQL语句查询数据库3.查询缓存:记录用户的SQL查询语句,如果再次查询同样内容,就返回缓存4.如果缓存没有进入分析器:(分析器也可能借签缓存)语法分析器:用户命令语法是否正确词法分析器:将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表,内容,用户的权限等5.优化:执行路径的选择,生成执行树每个SQL语句都有很多执行路径,优化的目的就是在这些执行路径里选择一个最优的执行路径6.存储引擎:用于管理存储在文件系统,甚至是裸设备上的数据管理程序,它本身给上层应用提供不同的管理,有的支持事务,有的不支持事务。

#查询缓存可以大大加速这个过程,不过缓存本身可能带来劣势,假如一个用户要查询一个数据,正好缓存里有,而在之前,这条数据刚刚被修改过那么返回的缓存结果就是过时的。
MYSQL的结构:
客户端:mysql连接器: NativeC API 本地C语言接口JDBCJAVA的数据库连接器ODBC开放式数据库互联,非常底层 Oracle,SOLServer都支持连接池(conetcionpool):它的后方是MYSQL的真正功能SQL接口:用户通过sql客户端发过来的命令,由sql接口接收DML数据操作语言:查询,修改,升级数据等DDL数据定义语言:创建一个新的数据库,新的索引,删除一个用户等存储过程视图触发器
Parser:分析器查询 事务 对象权限optimizer:访问路径生成执行树
caches&buffers:缓存和缓存优化里最重要的是缓存的优化
pluggablestroage engines存储引擎(插件式):将逻辑结构转换为物理结构的程序ManagementServices & Utilites工具:备份,恢复,安全,移植,集群等,这些工具一般和文件系统打交道,不需要和mysql-server打交道,它们对应的都是命令。数据库对象:(逻辑)表,二维关系索引视图触发器存储过程存储函数事件調读器游标用户
物理文件
将数据库对象和物理对象对应起来就是存储引擎Mysql*插件式的存储引擎
mysql与mysql的连接方式:tcp,socket,pipe,memory
mysql的交互方式:interact batch
SQL结构化查询语言bashselect,update,create,drop
Mysql安装版本选择:GARCbetaalpha
在以后的使用过程中,RPM包很方便,但是会带来各种问题,所以尽量使用编译安装甚至是LFSMysql-clientMysql-devel:编译安装软件包,需要用到Mysql的时候才安装这个软件包Mysql-embedded: mysq嵌入式Mysql-ndb-managementMysql-serverMysql-shared:可能被客户端或者服务器端的某些工具用到Mysql-shared-compatMysql-test:测试Mysql,提供测试组件
一般来讲,完全的MYSQL只需要安装clientdevel share server
安装目录的作用bindata默认情况下将数据和索引存放的目录 incluedlibmanmysql-testscripts安装时的初始化脚本share某种特定语言的错误信息的,信息原始文件存放sql-bench压力测试工具support-file提供一些初始化的文件和脚本
  • 1
  • 2
  • 3
  • 下一页
Oracle 估算数据库大小的方法Oracle 11g不能导出空表的问题解决相关资讯      MySQL教程 
  • 30分钟带你快速入门MySQL教程  (02月03日)
  • MySQL教程:关于I/O内存方面的一些  (01月24日)
  • CentOS上开启MySQL远程访问权限  (01/29/2013 10:58:40)
  • MySQL教程:关于checkpoint机制  (01月24日)
  • MySQL::Sandbox  (04/14/2013 08:03:38)
  • 生产环境MySQL 5.5.x单机多实例配  (11/02/2012 21:02:36)
本文评论 查看全部评论 (0)
表情: 姓名: 字数