MySQL是一款开放源代码的数据库管理系统(DBMS),是由MySQL AB公司开发、发布并支持的。MySQL是一个跨平台的开源关系型数据库管理系统,广泛应用在Internet上的中小型网站开发中。
与其他大型数据库管理系统(如Oracle、DB2、SQL Server等)相比,MySQL规模小、功能有限,但是它体积小、速度快、成本低,并且提供发功能对稍微复杂的应用来说已经够用,这些特性使得MySQL成为世界上最受欢迎的开放源代码数据库。
MySQL是C/S结构的软件
客户端/服务器(Client/Server)结构(简称C/S结构),是一种网络架构,通常在该网络架构下的软件可分为客户端(Client)和服务器(Server)。
服务器是整个应用系统资源的存储和管理中心,多个用户端则各自处理相应的功能,共同实现完整的应用。在客户端/服务器的结构中,客户端用户的请求被传送到数据库服务器,数据库服务器进行处理后。将结果返回给用户,从而减少了网络数据传输量。
用户使用应用程序时,首先启动客户端通过有关命令告知服务器进行连接以完成各种操作,而服务器则按照此请示提供相应的服务。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。
这种系统的特点是:客户端和服务器程序不在同一台计算机上运行,这些客户端和服务器程序通常归属不同的计算机。
MySQL版本
MySQL针对不同的用户,分为企业版和社区版。
MySQL Community Server(MySQL 社区版服务器),该版本完全免费,但是官方不提供技术支持。
MySQL EnterpriseServer(MySQL企业版服务器),能够以很高的性价比为企业提供数据仓库应用,支持ACID事务处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需要付费使用,官方提供电话技术支持。
MySQL的优势
1、速度:运行速度快。
2、价格:MySQL对多数个人来说是免费的。
3、容易使用:与其他大型数据库的设置和管理相比,其复杂程度较低,已于学习使用。
4、可移植性:能够工作在众多不同的系统平台上,例如:Windows、Linux、UNIX、Mac OS等。
5、丰富的接口:提供了用于C、C++、Eiffle、Java、Perl、PHP、Python、Ruby等语言的API。
6、支持查询语言:MySQL可以利用标准SQL语法和支持ODBC的应用程序。
7、安全性和连接性:十分灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密传输均采用加密形式,从而保证了密码安全。由于MySQL是网络化的,因此可以在因特网上的任何地方访问,提高数据共享的效率。
MySQL命令行实用程序(命令行工具)
MySQL数据库管理系统提供了许多命令行工具,这些工具可以用来管理MySQL服务器、对数据库进行访问控制、管理MySQL用户以及数据库备份和恢复工具等。
MySQL服务器端实用工具程序如下:
(1)、mysqld
MySQL服务器进程,必须在该程序运行之后,客户端才能通过连接服务器来访问数据库。
(2)、mysqld_safe
服务器启动脚本。在UNIX和NetWare中推荐使用mysqld_safe来启动mysqld服务器。mysqld_safe添加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。
(3)、mysql.server
服务器启动脚本。该脚本用于使用包含为特定级别的、运行启动服务的脚本的、运行目录的系统。它调用mysqld_safe来启动MySQL服务器。
(4)、mysql_muti
服务器启动脚本。可以启动或停止系统上安装的多个服务器。
(5)、myisamchk
用来描述、检查、优化和维护MyISAM表的实用工具。
(6)、mysqlbug
MySQL缺陷报告脚本。它可以用来向MySQL邮件系统发送给缺陷报告。
(7)、mysql_install_db
该脚本用默认权限创建MySQL授权表。通常只是在系统上首次安装MySQL时执行一次。
MySQL客户端实用工具程序如下:
(1)、myisampack
压缩MyISAM表,以产生更小的只读表的一个工具。
(2)、mysql
交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具。
(3)、mysqlaccess
检查访问主机名、用户名和数据库组合的权限的脚本。
(4)、mysqladmin
执行管理操作的客户程序,例如创建或删除数据库、重载权限表、将表刷新到硬盘上以及重新打开日志文件。mysqladmin还可以用来检索版本、进程,以及服务器的状态信息。
(5)、mysqlbinlog
从二进制日志读取语句的工具。在二进制日志文件中包含执行过的语句,可用来帮助系统从崩溃中恢复。
(6)、mysqlcheck
检查、修复、分析以及优化表的表维护客户程序。
(7)、mysqldump
将MySQL数据库转储到一个文件(例如SQL语句或tab分隔符文本文件)的客户程序。
(8)、mysqlhotcopy
当服务器在运行时,快速备份MyISAM或ISAM表的工具。
(9)、mysqlimport
使用LOAD DATA INFILE将文本文件导入相关表的客户程序。
(10)、mysqlshow
显示数据库、表、列、以及索引相关信息的客户程序。
(11)、perror
显示系统或MySQL错误代码含义的工具。
MySQL提供的图形化管理工具——MySQL WorkBench
MySQL WorkBench是MySQL官方的一个图形化管理工具,支持数据库的创建、设计、迁移、备份、导出、导入等功能,支持Windows、Linux、Mac OS等主流的操作系统。
MySQL Workbench是一个统一的可视化开发和管理平台,该平台提供了许多高级工具,可支持数据库建模和设计、查询开发和测试、服务器配置和监视、用户和安全管理、备份和恢复自动化、审计数据检查以及向导驱动的数据库迁移。
MySQL Workbench是MySQL AB发布的可视化的数据库设计软件,它的前身是 FabForce 公司的 DDesigner 4。
MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化设计、模型建立、以及数据库管理功能。它包含了用于创建复杂的数据建模ER模型,正向和逆向数据库工程,也可以用于执行通常需要花费大量时间和需要的难以变更和管理的文档任务。
MySQL WorkBench 主要功能有:
数据库建模和模型建立。
SQL开发(取代MySQL Query Browser)。
数据库管理(取代MySQL Administrator)。
Oracle公司使用更高效、更便捷的MySQL Work B呢称替换掉了MySQL Query Browser和MySQL Administrator,目前官方已经不再提供MySQL Query Browser和MySQL Administrator的技术支持和更新,但是可以仍然在使用旧版本MySQL时使用它们。
MySQL WorkBench有两个版本:
MySQL WorkBench Community Edition(也叫MySQL WorkBench OSS,社区版),是在GPL证书下发布的开源社区版本。
MySQL WorkBench Standard Edition(也叫MySQL WorkBench SE,商业版),时按年收费的商业版本。