设为首页收藏本站

番薯窝-网络爱好者交流社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

用新浪微博连接

一步搞定

搜索
查看: 757|回复: 0

使用MySQL自带工具mysqlhotcopy快速备份mysql数据库

[复制链接]
发表于 2015-7-29 20:13:13 | 显示全部楼层 |阅读模式

mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份MyISAM。它运行在Unix和NetWare中。
  与mysqldump比较:
  1、前者是一个快速文件意义上的COPY,后者是一个数据库端的SQL语句集合。
  2、前者只能运行在数据库目录所在的机器上,后者可以用在远程客户端,不过备份的文件还是保存在服务器上。
  3、相同的地方都是在线执行 LOCK TABLES 以及 UNLOCK TABLES
  4、前者恢复只需要COPY备份文件到源目录覆盖即可,后者需要导入SQL文件到原库中。(source 或 mysql < bakfile.sql)
  5、前者只适用于 MyISAM 引擎,而后则则可同时使用于MyISAM引擎和InodDB引擎.
  6、前者在使用前必须安装perl-DBD-mysql包,而后者则不需要.
使用mysqlhotcopy之前需要安装perl-DBI和DBD-mysql:
1、执行yum install perl-DBI安装perl-DBI。
2、执行yum install perl-DBD-MySQL或者http://www.fanshuwo.me/thread-2923-1-1.html
一个常用的备份例子:

  • /usr/local/mysql/bin/mysqlhotcopy -u root -proot --addtodest 数据库名1 数据库名2  备份目录

--addtodest的意思是当备份存在时,不中断备份,只添加新的文件进去。
更多的选项可以执行/usr/local/mysql/bin/mysqlhotcopy --help查看。
如何还原?
1、停止mysql服务器。
2、复制备份的数据库目录到mysql数据目录下。
3、更改目录所有者为mysql服务器运行的用户(如mysql)。
4、启动mysql服务器


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|番薯窝    

GMT+8, 2018-8-17 21:52 , Processed in 0.205374 second(s), 21 queries .

快速回复 返回顶部 返回列表