MySQL mysqlhotcopy

2013-05-21_090652

这是MySQL 5实力养成暨评量里的7-22.‘下列何工具程式,可在伺服器执行中快速备份MyISM资料表?’

答案:(B) mysqlhotcopy

[adsense][/adsense]

在列表中的四个选项中,ㄚ琪只记得常用mysqldump跟mysqlimport,偶而也会用到mysqlcheck,至于mysqlhotcopy就真的听都没听说过了,现在就分享给乡民知道吧。

MySQL 5.7 Reference Manual :: 4 MySQL Programs :: 4.6 MySQL Administrative and Utility Programs :: 4.6.10 mysqlhotcopy — A Database Backup Program

MySQL 5.1参考手册 :: 8. 客户端和实用工具程序::8.9. mysqlhotcopy:数据库备份程序

转译繁体中文:

mysqlhotcopy是一个Perl指令,最初由Tim Bunce编写并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份资料库。它是备份资料库或单个资料表的最快的途径,但它只能运行在资料库目录所在的机器上。mysqlhotcopy只用于备份MyISAM。它运行在Unix和NetWare中。

shell> mysqlhotcopy db_name [/path/to/new_directory]
shell> mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory

备份给定资料库中的匹配正则资料表达式的资料表:

shell> mysqlhotcopy db_name./regex/

加上发音符(‘~’)前缀,资料表名的正则资料表达式可以被否定:

shell> mysqlhotcopy db_name./~regex/

mysqlhotcopy支援下面的选项:

·         —help,-?

显示帮助消息并退出。

·         –allowold

如果目标存在不放弃(加上一个_old后缀重新命名它)。

·         –checkpoint=db_name.tbl_name

在指定的db_name.tbl_name插入检查点条目。

·         —debug

启用调试输出。

·         –dryrun,-n

报告动作而不执行它们。

·         –flushlog

所有资料表锁定后刷新日志。

·         –keepold

完成后不删除以前(重新命名的)的目标。

·         – method=command

复制方法(cp或scp)。

·         –noindices

备份中不包括全部索引档案。这样使备份更小、更快。可以在以后用myisamchk -rq重新构建索引。

·         –password=password,-p password

当连接伺服器时使用的密码。请注意该选项的密码值是不可选的,不像其它MySQL程式。

·         –port=port_num,-P port_num

当连接本地伺服器时使用的TCP/IP端口号。

·         –quiet,-q

除了出现错误时保持沉默。

·         –regexp=expr

复制所有资料库名匹配给出的正则资料表达式的资料库。

·         –socket=path,-S path

用于连接的Unix套接字档案。

·         –suffix=str

所复制的资料库名的后缀。

·         –tmpdir=path

临时目录(代替/tmp)。

·         –user=user_name,-u user_name

当连接伺服器时使用的MySQL帐号。

mysqlhotcopy从选项档案读取[client]和[mysqlhotcopy]选项组。

要想执行mysqlhotcopy,您必须可以访问备份的资料表档案,具有那些资料表的SELECT权限和RELOAD权限(以便能够执行FLUSH TABLES)。

使用perldoc使用其它mysqlhotcopy文档:

shell> perldoc mysqlhotcopy