- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(mysql培训文档
概述
背景
数据库的选择
MySQL的架构
MySQL架构介绍
MySQL安装
XP下安装
Linux下安装和参数配置
可视化工具的安装navicat
Navicat的使用
MySQL的管理维护
库连接管理
表空间管理
用户及权限管理
操作表、视图、触发器
从oracle到MySQL
从MySQL到oracle
冷备份和逻辑备份
时间点恢复和位置恢复
SQL的使用
增删改查的SQL
常用的数据类型
常用的Mysql函数介绍
技巧篇
索引的使用
锁的使用
Mysql事务控制
自增列的使用
Mysql安全
安装和使用时的常见错误处理
字符集的管理
SQL的优化
结合UniEAP使用
数据源管理
开发注意事项
常见数据类型的增删改查方法
概述
背景
MySQL是一个开源免费的关系型数据库存储引擎。
在MySQL经历了2008年Sun的收购和2009年Oracle收购Sun的过程中,基本处于停滞发展的情况。目前,使用的常用的版本,也是比较稳定的版本是5.5.28.
不过,从目前各个中小型网站的使用情况看,以及企业级的BS等应用很多在使用MySQL。从部门开发情况看,也有少许项目是使用MySQL开发,比如个住项目。
数据库的选择
小型数据库:access、foxbase;中型数据库:sql server 、mysql、informix;大型数据库:db2、Oracle、Sybase。
微软:sql server 和 access;IBM公司:db2,informix;美国Sybase公司:Sybase;美国oracle公司:oracle,MySQL;
选择数据主要考虑以下几点:项目的大小、架构、符合不符合技术路线,以及客户的原因。
MySQL架构介绍
1.逻辑架构
最上面一层不是MySQL特有的,所有基于网络的C/S或者B/S的网络应用程序都应该包括连接处理、认证、安全管理等。
中间层是MySQL的核心,包括查询解析、分析、优化和缓存等。同时它还提供跨存储引擎的功能,包括存储过程、触发器和视图等。
最下面是存储引擎,它负责存取数据。服务器通过storage engine API可以和各种存储引擎进行交互。
1.1、查询优化和执行(Optimization and Execution)
MySQL 将用户的查询语句进行解析,并创建一个内部的数据结构——分析树,然后进行各种优化,例如重写查询、选择读取表的顺序,以及使用哪个索引等。查询优化器不关心一个表所使用的存储引擎,但是存储引擎会影响服务器如何优化查询。优化器通过存储引擎获取一些参数、某个操作的执行代价、以及统计信息等。在解析查询之前,服务器会先访问查询缓存(query cache)——它存储SELECT语句以及相应的查询结果集。如果某个查询结果已经位于缓存中,服务器就不会再对查询进行解析、优化、以及执行。它仅仅将缓存中的结果返回给用户即可,这将大大提高系统的性能。
1.2、并发控制
MySQL提供两个级别的并发控制:服务器级(the server level)和存储引擎级(the storage engine level)。加锁是实现并发控制的基本方法,MySQL中锁的粒度:
(1)表级锁:MySQL独立于存储引擎提供表锁,例如,对于ALTER TABLE语句,服务器提供表锁(table-level lock)。
(2)行级锁:InnoDB和Falcon存储引擎提供行级锁,此外,BDB支持页级锁。InnoDB的并发控制机制,下节详细讨论。
1.3、存储引擎
1.3.1、什么叫存储引擎
MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。
例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存存储引擎能够在内存中存储所有的表格数据。又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。
这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。你可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储你的信息、如何检索这些信息以及你需要你的数据结合什么性能和功能的时候为你提供最大的灵活性。
选择如何存储和检索你的数据的这种灵活性是MySQL为什么如此受欢迎的主要原因。其它数据库系统(包括大多数商业选择)仅支持一种类型的数据存储。遗憾的是,其它类型的数据库解决方
文档评论(0)