MySQL常用维护命令和操作
mysql数据库安装后,除了包括mysql服务器进程管理外,还提供了大量工具用于管理和维护mysql服务器的其它工作。下面php程序员雷雪松介绍的这些命令都是在mysql交互界面以外的命令行中执行的。mysql常用维护命令和操作主要包括对mysql数据库状态的查看、性能的优化,mysql表的检查、分析、修复、优化,mysql数据库的导出导入、热备份等。
:压缩mysql myisam表以产生更小的只读表的一个工具。
myisampack工具可以压缩myisam表来解决空间占用过大的问题。myisampack分别压缩表中的每一列。通常,myisampack可以将数据文件压缩到40%-70%。当以后使用表时,解压缩列需要的信息被读入内存。当访问具体的记录时性能会更好,因为你只需要解压缩一个记录。
mysqlaccess:检查访问主机名、用户名和数据库组合的权限的脚本。
mysqlaccess是为mysql提供的一个诊断工具。它检查访问权限的主机名、用户名和数据库组合。请注意 mysqlaccess检查只使用user、db和host表的访问。它不检查在tables_priv、columns_priv或procs_priv表中指定的表、列或者程序的权限。
:用于管理mysql服务器的客户端。
mysqladmin执行管理操作的客户程序,可以用它来创建或删除数据库,重载授权表,将表刷新到硬盘上,以及重新打开日志文件,检索版本、进程,以及服务器的状态信息。
:从二进制日志读取执行过的语句的工具。
mysql数据库服务器生成的所有更新了数据或者已经潜在更新了数据的所有语句以二进制日志文件写成二进制格式,语句以“事件”的形式保存,它描述数据更改。要想检查这些文本格式的文件,应必须使用mysqlbinlog工具,可通过这些二进制日志帮助mysql数据库从崩溃中恢复。
:检查、修复、分析以及优化表的表维护客户程序。
mysql mysqlcheck客户端主要用来检查和修复myisam表,mysqlcheck还可以优化和分析表。mysqlcheck的功能类似myisamchk,但其工作不同。mysqlcheck和myisamchk主要差别是当mysqld服务器在运行时必须使用mysqlcheck,而myisamchk应用于服务器没有运行时。使用mysqlcheck的好处是不需要停止服务器来检查或修复表,mysqlcheck为用户提供了一种方便的使用sql语句check table、repair table、analyze table和optimize table的方式。
:将mysql数据库转储到一个文件(例如sql语句或tab分隔符文本文件)的客户程序。
mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个sql服务器(不一定是一个mysql服务器)。转储包含创建表和/或装载表的sql语句。如果你在服务器上进行备份,并且表均为myisam表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。
:当mysql数据服务器在运行时,快速备份myisam或isam表的工具。
mysqlhotcopy是一个perl脚本,它使用lock tables、flush tables和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份myisam且运行在unix和netware中。
:使用load data infile将文本文件导入相关表的客户程序。
mysql mysqlimpor位于mysql/bin目录中,是一个非常有效的导入数据工具。mysqlimport客户端提供了load data infileql语句的一个命令行接口。这个命令可以让我们很轻松的把有结果规律的文本导入到mysql数据库中。
:显示数据库、表、列以及索引相关信息的客户程序。
mysqlshow客户可用来很快地查找存在哪些数据库,数据库中的表,表中的列或索引。mysqlshow为一些sql显示语句提供了一个命令行界面,相同的信息可以通过直接使用那些语句获得。
:myisam表维护实用工具
可以使用myisamchk实用程序来获得有关数据库表的信息或检查、修复、优化他们。myisamchk适用myisam表(对应.myi和.myd文件的表)。myisamchk的功能类似mysqlcheck,但其工作不同。myisamchk和mysqlcheck主要差别是当mysqld服务器在运行时必须使用mysqlcheck,而myisamchk应用于服务器没有运行时。