日期:2014-05-16  浏览次数:20957 次

MYsql客户端和实用工具程序
第8章:客户端和实用工具程序
目录

8.1. 客户端脚本和实用工具概述
8.2. myisampack:生成压缩、只读MyISAM表
8.3. mysql:MySQL命令行工具
8.3.1. 选项
8.3.2. mysql命令
8.3.3. 怎样从文本文件执行SQL语句
8.3.4. mysql技巧
8.4. mysqlaccess:用于检查访问权限的客户端
8.5. mysqladmin:用于管理MySQL服务器的客户端
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具
8.7. mysqlcheck:表维护和维修程序
8.8. mysqldump:数据库备份程序
8.9. mysqlhotcopy:数据库备份程序
8.10. mysqlimport:数据导入程序
8.11. mysqlshow-显示数据库、表和列信息
8.12. myisamlog:显示MyISAM日志文件内容
8.13. perror:解释错误代码
8.14. replace:字符串替换实用工具
8.15. mysql_zap:杀死符合某一模式的进程
有许多不同的MySQL客户端程序可以连接服务器以访问数据库或执行管理任务。也可以使用其它工具。这些程序不与服务器进行通讯但可以执行MySQL相关的操作。

本章简述了这些程序然后详细描述了每个程序。描述了如何调用这些程序和它们理解的选项。调用程序和指定程序选项的总信息参见第4章:MySQL程序概述。

8.1. 客户端脚本和实用工具概述
下面简单列出了MySQL客户端程序和实用工具:

·         myisampack

压缩MyISAM表以产生更小的只读表的一个工具。参见8.2节,“myisampack:生成压缩、只读MyISAM表”。

·         mysql

交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具。参见8.3节,“mysql:MySQL命令行工具”。

·         mysqlaccess

检查访问主机名、用户名和数据库组合的权限的脚本。

·         mysqladmin

执行管理操作的客户程序,例如创建或删除数据库,重载授权表,将表刷新到硬盘上,以及重新打开日志文件。mysqladmin还可以用来检索版本、进程,以及服务器的状态信息。参见8.5节,“mysqladmin:用于管理MySQL服务器的客户端”。

·         mysqlbinlog

从二进制日志读取语句的工具。在二进制日志文件中包含的执行过的语句的日志可用来帮助从崩溃中恢复。参见8.6节,“mysqlbinlog:用于处理二进制日志文件的实用工具”。

·         mysqlcheck

检查、修复、分析以及优化表的表维护客户程序。参见8.7节,“mysqlcheck:表维护和维修程序”。

·         mysqldump

将MySQL数据库转储到一个文件(例如SQL语句或tab分隔符文本文件)的客户程序。增强版免费软件首先由Igor Romanenko提供。参见8.8节,“mysqldump:数据库备份程序”。

·         mysqlhotcopy

当服务器在运行时,快速备份MyISAM或ISAM表的工具。参见8.9节,“mysqlhotcopy:数据库备份程序”。

·         mysql import

使用LOAD DATA INFILE将文本文件导入相关表的客户程序。参见8.10节,“mysqlimport:数据导入程序”。

·         mysqlshow

显示数据库、表、列以及索引相关信息的客户程序。参见8.11节,“mysqlshow:显示数据库、表和列信息”。

·         perror

显示系统或MySQL错误代码含义的工具。参见8.13节,“perror:解释错误代码”。

·         replace

更改文件中或标准输入中的字符串的实用工具。参见8.14节,“replace:字符串替换实用工具”。

MySQL AB还提供了大量GUI工具用于管理和MySQL服务器的其它工作。相关基本信息参见第4章:MySQL程序概述。

每个MySQL程序有许多不同的选项。但每个MySQL程序均提供一个---help选项,可以用来全面描述程序不同的选项。例如,可以试试mysql---help。

使用mysqlclient库同服务器进行通讯的MySQL客户使用下面的环境变量:

MYSQL_UNIX_PORT
默认Unix套接字文件;用于连接localhost

MYSQL_TCP_PORT
默认端口号;用于TCP/IP连接

MYSQL_PWD
默认密码

MYSQL_DEBUG
调试过程中的调试跟踪选项

TMPDIR
创建临时表和文件的目录


使用MYSQL_PWD不安全。参见5.8.6节,“使你的密码安全”。

可以在选项文件中或在命令行中指定选项来替换所有标准程序的默认选项值或指定的环境变量的值。参见4.3节,“指定程序选项”。

8.2. myisampack:生成压缩、只读MyISAM表
myisampack工具可以压缩MyISAM表.MYIsampack分别压缩表中的每一列。通常,myisampack可以将数据文件压缩到40%-70%。

当以后使用表时,解压缩列需要的信息被读入内存。当访问具体的记录时性能会更好,因为你只需要解压缩一个记录。

MySQL使用mmap()对压缩的表进行内存映射。如果mmap()不工作,MySQL返回到普通读/写文件操作。

请注意:

·         如果用--skip-external-locking选项调用mysqld服务器,如果在压缩过程中表可能被更新,调用myisampack不是一个好注意。

·         表压缩后,它变为只读。这是故意的(例如当访问CD上的压缩的表时)。允许写入到压缩的表位于我们的TODO列表中,但优先级较低。

·         myisampack可以压缩BLOB或TEXT列。旧版本ISAM表的pack_isam程序不可以。

调用myisampack的方法:

shell> myisampack [options] filename ...文件名应为索引(.MYI)文件的文件名。如果不在数据库目录,应指定文件的路径名。允许忽略.MYI扩展名。

myisampack支持下面的选项:

·