MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。
MySQL 使用的 SQL 语言是用于访问数据库的最常用的标准化语言。
由于 MySQL 数据库体积小、速度快、总体拥有成本低、开放源代码,其有着广泛的应用,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,因此搭配 PHP 和 Apache 服务器可组成良好的开发环境。
MySQL 数据库管理系统具有以下系统特性:
与 MySQL 5.6 相比,MySQL 5.7 具有以下几个方面的新功能。
MySQL 5.7 数据库初始化完成后,会自动生成一个 root@localhost 用户,root 用户的密码不为空,而是随机产生一个密码。
MySQL 5.7 默认安装完成后没有 test 数据库。用户可以自行创建 test 数据库并对其进行权限控制。
MySQL 5.7 采用了更加简单的 SSL 安全访问机制,默认连接使用 SSL 的加密方式。
MySQL 5.7 支持用户设置密码过期策略,要求用户在一定时间过后必须修改密码。
MySQL 5.7 为管理员提供了暂时禁用某个用户的功能,使被锁定的用户无法访问和使用数据库。
MySQL 5.7在服务器端提供了一组便于操作 JSON 的函数。存储的方法是将 JSON 编码成 BLOB 后再由存储引擎进行处理。这样,MySQL 就同时拥有了关系型数据库和非关系型数据库的优点,并且可以提供完整的事务支持。
生成列是通过数据库中的其他列计算得到的一列。当为生成列创建索引时,可以便捷地加快查询速度。MySQL 5.7 支持虚拟生成列和存储生成列。虚拟生成列仅将数据保存在表的元数据中,作为缺省的生成列类型;存储生成列则是将数据永久保存在磁盘上,需要更多的磁盘空间。
系统库中包含一系列视图、函数和存储过程,通过多线程、多进程、组合事务提交和基于行的优化方式将复制功能提高 5 倍以上,用户向外扩充其跨商品系统的工作负载时,得以大幅提升复制的效能和效率
MySQL 一般是安装在服务器上的,我们在客户端可以进行连接,然后可以进行一些增删改查操作。下面我们分服务器端和客户端来讲解一下 MySQL 的实用工具集。
SQL 后台程序(即 MySQL 服务器进程)。该程序必须运行之后,客户端才能通过连接服务器来访问数据库。
服务器启动脚本。在 UNIX 和 NewWare 中推荐使用 mysqld_safe 来启动 mysqld 服务器。mysqld_safe 增加了一些安全性,例如,当出现错误时,重启服务器并向错误日志文件中写入运行时间信息。
服务器启动脚本。该脚本用于使用包含为特定级别的、运行启动服务器脚本的、运行目录的系统。它调用 mysqld_safe 来启动 MySQL 服务器。
服务器启动脚本,可以启动或停止系统上安装的多个服务器。
用来描述、检查、优化和维护 MyISAM 表的实用工具。
服务器启动脚本。在 UNIX 中的 MySQL 分发版包括 mysql.server 脚本。
MySQL 缺陷报告脚本。它可以用来向 MySQL 邮件系统发送缺陷报告。
该脚本用默认权限创建 MySQL 授予权表。通常只是在系统上首次安装 MySQL 时执行一次。
压缩 MyISAM 表以产生更小的只读表的一个工具。
交互式输入 SQL 语句或从文件经批处理模式执行它们的命令行工具。
检查访问主机名、用户名和数据库组合的权限的脚本。
执行管理操作的客户程序,例如创建或删除数据库、重载授权表、将表刷新到硬盘上以及重新打开日志文件。Mysqladmin 还可以用来检索版本、进程以及服务器的状态信息。
从二进制日志读取语句的工具。在二进制日志文件中包含执行过的语句,可用来帮助系统从崩溃中恢复。
检查、修复、分析以及优化表的表维护客户程序。
将 MySQL 数据库转储到一个文件(例如 SQL 语句或 Tab 分隔符文本文件)的客户程序。
当服务器在运行时,快速备份 MyISAM 或 ISAM 表的工具。
使用 LOAD DATA INFILE 将文本文件导入相应的客户程序。
显示数据库、表、列以及索引相关信息的客户程序。
显示系统或 MySQL 错误代码含义的工具。