当前位置:首页 > Mysql教程 > 列表

mysqlhotcopy备份mysql数据库方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-09 15:16:26 浏览: 评论:0 

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、安装DBD-mysql请参考 http://www.centos.bz/2011/11/linux-install-perl-dbd-mysql/

举一个常用的备份例子:

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

–addtodest的意思是当备份存在时,不中断备份,只添加新的文件进去.

更多的选项可以执行/usr/local/mysql/bin/mysqlhotcopy –help查看.

如何还原MySQL?

1、停止mysql服务器.

2、复制备份的数据库目录到mysql数据目录下.

3、更改目录所有者为mysql服务器运行的用户(如mysql).

4、启动mysql服务器.

Tags: mysqlhotcopy mysql备份

分享到: