现在的位置: 首页 > 综合 > 正文

mysql备份和恢复

2013年12月05日 ⁄ 综合 ⁄ 共 791字 ⁄ 字号 评论关闭

一、只适用于myisam表的备份和恢复

backup:

mysqlhotcopy -u root -p pwd -h localhost dbname backup_path

recovery:

复制文件到数据目录,重启服务器

 

二、增量备份和恢复

备份:

必须打开binlog日志

mysqldump --single-transaction --flush-logs --master-data=2 --all-databases > backup_data.sql

执行该命令后,数据目录则包含新的二进制日志文件,比如为:mysql-bin.000007,结果的sql文件包含下列行:

-- Position to start replication or point-in-time
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000007',MASTER_LOG_POS=4;

因为mysqldump命令可以执行完全备份,这些行表示两件事情:
(1).sql文件包含所有写入mysql-bin.000007二进制日志文件或最新的文件之前的更改。
(2)备份后所记录的所有数据更改不出现在.sql中,但出现在mysql-bin.000007二进制日志文件或最新的文件中。

在第二天,我们可以清空日志开始新的二进制日志文件来创建增量备份。

执行mysqladmin flush-logs命令创建mysql-bin.000008。

backup_data.sql完全备份和当前时间之间的所有更改为文件mysql-bin.000007。

保存mysql-bin.000007文件到一个安全的地方。

利用crontab,依次类推,每天都备份增量的二进制文件

 

恢复:

mysql < backup_data.sql
mysqlbinlog mysql-bin.000007 mysql-bin.000008 ...... | mysql

抱歉!评论已关闭.