与mysqldump比较:
1、前者是一个快速文件意义上的copy,后者是一个数据库端的sql语句集合。
2、前者只能运行在数据库目录所在的机器上,后者可以用在远程客户端,不过备份的文件还是保存在服务器上。
3、相同的地方都是在线执行 lock tables 以及 unlock tables
4、前者恢复只需要copy备份文件到源目录覆盖即可,后者需要导入sql文件到原库中。(source 或 mysql 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服务器