一、MySQL介绍
1、标志
MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。
注:sakila同时也是MySQL自带的一个数据库样例(sakila sample database)。
2.MySQL发展
MySQL的历史最早可以追溯到1979年,有一个人叫Monty Widenius, 为一个叫TcX的小公司打工,并用BASIC设计了一个报表工具,可以在4M主频和16KB内存的计算机上运行。过了不久,又将此工具,使用C语言重写,移植到Unix平台,当时,它只是一个很底层的面向报表的存储引擎。这个工具叫做Unireg。
1985 年,瑞典的几位志同道合小伙子(以David Axmark 为首) 成立了一家公司,这就是MySQL AB 的前身。这个公司最初并不是为了开发数据库产品,而是在实现他们想法的过程中,需要一个数据库。他们希望能够使用开源的产品。但在当时并没有一个合适的选择,没办法,那就自己开发吧。
在最初,他们只是自己设计了一个利用索引顺序存取数据的方法,也就是I S A M(Indexed Sequential Access Method)存储引擎核心算法的前身,利用ISAM 结合mSQL 来实现他们的应用需求。在早期,他们主要是为瑞典的一些大型零售商提供数据仓库服务。在系统使用过程中,随着数据量越来越大,系统复杂度越来越高,ISAM 和mSQL 的组合逐渐不堪重负。在分析性能瓶颈之后,他们发现问题出在mSQL 上面。不得已,他们抛弃了mSQL,重新开发了一套功能类似的数据存储引擎,这就是ISAM 存储引擎。大家可能已经注意到他们当时的主要客户是数据仓库,应该也容易理解为什么直至现在,MySQL 最擅长的是查询性能,而不是事务处理(需要借助第三方存储引擎)。
1990年,TcX的customer 中开始有人要求要为它的API提供SQL支持,当时,有人想到了直接使用商用数据库算了,但是Monty觉得商用数据库的速度难令人满意。于是,他直接借助于mSQL的代码,将它集成到自己的存储引擎中。但不巧的是,效果并不太好。于是,Monty雄心大起,决心自己重写一个SQL支持。
1996年,MySQL 1.0发布, 在小范围内使用。到了96年10月,MySQL 3.11.1发布了,没有2.x版本。最开始,只提供了Solaris下的二进制版本。一个月后,Linux版本出现了。 此时的MySQL还非常简陋,除了在一个表上做一些Insert,Update,Delete和Select 操作职位,没有其他更多的功能。
紧接下来的两年里,MySQL依次移植到各个平台下。它发布时,采用的许可策略,有些与众不同:允许免费商用,但是不能将MySQL与自己的产品绑定在一起发布。如果想一起发布,就必须使用特殊许可,意味着要花银子。当然,商业支持也是需要花银子的。其它的,随用户怎么用都可以。这种特殊许可为MySQL带来了一些收入,从而为它的持续发展打下了良好的基础。
1999-2000年,有一家公司在瑞典成立了,叫MySQL AB。 雇了几个人,与Sleepycat合作,开发出了 Berkeley DB引擎, 因为BDB支持事务处理,所以,MySQL从此开始支持事务处理了。
在2000 年的时候,MySQL 公布了自己的源代码,并采用GPL(GNU General Public License)许可协议,正式进入开源世界。
2000年4月,MySQL对旧的存储引擎进行了整理,命名为MyISAM。
2001年,Heikiki Tuuri向MySQL提出建议,希望能集成他们的存储引擎InnoDB,这个引擎同样支持事务处理,还支持行级锁。所以在2001年发布的3.23 版本的时候,该版本已经支持大多数的基本的SQL 操作,而且还集成了MyISAM和InnoDB 存储引擎。MySQL与InnoDB的正式结合版本是4.0。
2004年10月,发布了经典的4.1版本。 2005年10月,有发布了里程碑的一个版本,MySQL 5.0. 在5.0中加入了游标,存储过程,触发器,视图和事务的支持。在5.0 之后的版本里,MySQL明确地表现出迈向高性能数据库的发展步伐。
2008年1月16号 MySQL被Sun公司收购。
2009年04月20日Oracle收购Sun 公司,MySQL 转入Oracle 门下。
2010年04月22 发布MySQL 5.5, MySQLcluster 7.1.
Oracle 对MySQL版本重新进行了划分,分成了社区版和企业版,企业版是需要收费的,当然收费的就会提供更多的功能。
二、MySQL安装
1、windows版本
windows平台:win 7 64位
mysql版本:5.5.27(mysql-5.5.27-win32.msi)
(1)双击安装包,打开mysql安装向导,点击next:
(2)打勾许可协议,点击next:
(3)选择安装方式:Custom
Typical | 典型安装。安装最常见的程序功能,推荐给大多数用户。 |
Custom | 自定义安装。允许用户选择安装的程序功能和安装的位置,建议高级用户使用。(推荐) |
Complete | 完全安装。将安装所有的程序功能,需要最多的磁盘空间。 |
(4)选择功能组件:
MySQL Server | 安装MySQL Server主程序 | ||
Client Programs | various helpful(commandline)tools including the mysql command line client | 各种有用的(命令行)工具包括MySQL命令行客户端 | |
Debug binaries | debug/trace versions of executables and libraries | 调试/跟踪可执行文件和库文件的版本 | |
Development Components | installs c/c++ header files and libraries | 安装C / C++头文件和库 | |
Debug Symbols | installs Debug Symbols | 安装调试符号 | |
Server data files | server data files | 服务器数据文件 |
①指定MySQL程序文件的安装路径:选中"MySQL Server"项,点击"Browser"选择一个文件夹
②指定MySQL数据文件的安装路径:选中"Server data files"项,点击"Browser"选择一个文件夹
(5)点击next,进入安装界面,点击install,等待安装完成,然后打勾"launch the mysql instance configuration wizard",点击"finish",启动MySQL实例配置向导:
(6)选择配置类型:
Detailed Configuration |
详细配置 |
choose this configuration type to create the optimal server setup for this machine |
选择此配置类型以创建此机器的最佳服务器设置. |
Standard Configuration |
标准配置 |
use this only on machines that do not already have a mysql server installation.This will use a general purpose configuration for the server that can be tuned manually |
该项只适用于没有安装过MySQL服务器的机器。这将使用一个通用的配置的服务器,可以手动调整。 |
(7)选择服务类型:Developer Machine
Developer Machine |
开发服务器 | This is a development machine,and many other applications will be run on it.mysql server should only use a minimal amount of memory. | 这是一个开发机,其上运行许多其他应用程序.mysql服务器应该只使用少量的内存。 |
Server Machine | 服务器机器 | several server applications will be running on this machine.Choose this option for web/application servers.mysql will have medium memory usage. | 一些服务器应用程序将运行在本机,选择该项用于网页/应用服务.mysql将使用中等内存。 |
Dedicated MySQL Server Machine | 专用MySQL服务器 | This machine is dedicated to run the MySQL Datebase.No other servers,such as a web or mail server,will be run.MySQL will utilize up to all available memory. | 本机专用于运行MySQL数据库。没有其他服务器,如Web或邮件服务器,将要运行。mysql将利用所有可用的内存。 |
(8)选择要使用的数据库:Multifunctional Database
Multifunctional Database | 多功能数据库 | General purpose databases.This will optimize the server for the use of the fast transactional InnoDB storage engine and the high speed MyISAM storage engine. | 通用的数据库,这将优化使用快速事务存储引擎InnoDB和高速存储引擎MyISAM的服务器。 |
Transactional Database Only |
事务处理数据库 | Optimized for application servers and transactional web applications.This will make InnoDB the main storage engine.Note that the MyISAM engine can still be used. | 应用服务器和事务性Web应用程序进行了优化。这将使InnoDB存储引擎成为主要。需要注意的是MyISAM引擎仍然可以使用。 |
Non-Transactional Database Only |
非事务处理数据库 | Suited for simple web applications,monitoring or logging applications as well as analysis programs.Only the non-transactional MyISAM storage engine will be activated. | 适合简单的Web应用程序,监视或日志的应用以及分析程序。只有非事务性存储引擎MyISAM将被激活。 |
(9)选择InnoDB数据库文件的储存位置:
(10)设置与服务器并发连接的近似数目:
Decision Support (DSS)/OLAP |
决策支持系统(DSS)和OLAP |
Select this option for database applications that will not require a high number of concurrent connections.A number of 20 connections will be assumed. |
为不需要大量并发连接的数据库应用程序选择此选项。将假定20个连接数。 |
Online Transaction Processing(OLTP) |
在线事务处理(OLTP) |
Choose this option for highly concurrent application that may have at any one time up to 500 active connections such as heavily loaded web servers. |
为高并发应用程序选择此选项,该应用程序在任何时候都可能有多达500个活动连接,如重载的web服务器.。 |
Manual Setting |
手动设置 |
Please enter the approximate number of concurrent |
请输入近似的并发数 |
(11)设置网络选项:3306端口
Enable TCP/IP Networking | 启用TCP / IP网络 |
Enable this to alllow TCP/IP connections.When disabled,only local connections through named pipes are allowed. Add firewall exceptionfor this port. |
启用此项允许TCP/IP连接。当禁用时,只允许通过命名管道的本地连接。 给这个端口添加防火墙例外。 |
Enable Strict Mode | 启用严格模式 | This option forces the server to behave more like a traditional database server.It is recommended to enable this option. | 此选项强制服务器更像传统的数据库服务器。建议启用此选项。 |
(12)选择默认字符集:utf-8
Standard Character Set | 标准字符集 | Makes Latin1 the default charset.This character set is suited for English and other West European languages. | 使用latin1作为默认字符集,这个字符集是适合英语和其他欧洲语言。 |
Best Support For Multilingualism | 多语言最佳支持 | Make UTF8 the default character set.This is the recommended character set for storing text in many different languages. | 使用UTF8作为默认的字符集,这是在许多不同的语言推荐使用的字符集存储文本。 |
Manual Selected Default Character Set /Collation |
手动选择默认字符集/排序
|
Please specify the character set to use | 请指定要使用的字符集 |
(13) 设置windows选项:
Install As windows Service | 作为Windows服务安装 |
This is the recommended way to run the MySQL server on Windows. Launch the MySQL Server automatically |
这是推荐的方式对于运行在Windows上的MySQL服务器。 自动启动MySQL服务器 |
Include Bin Directory in Windows PATH | 添加到Windows PATH路径 | Check this option to include the directory containing the server/client executables in the Windows PATH variable so they can be called from the command line. | 选中此选项将在Windows PATH变量包含该目录服务器/客户端的可执行文件,所以它们可以从命令行调用。 |
(14)设置安全选项:设置密码(不可以为空)
Modify Security Settings | 修改安全设置 | Enable root access from remote machines | 允许从远程机器上对根访问 |
create an anonymous account | 创建一个匿名帐户 | This option will create an anonymous account on this server.Please note that this can lead to an insecure system. | 此选项将在该服务器上创建匿名帐户。请注意,这可能导致不安全的系统。 |