Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103652806
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Mysql/postgreSQL

2008-04-19 22:26:06

作者:lg   来自:

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
阅读(314) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~