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