在上一篇文章中我们提到热备(http://www.linuxidc.com/Linux/2013-11/93166.htm),热备也就是在MySQL或者其他数据库服务在运行的情况下进行备份。本文分享另外一种备份的方法,也就是热拷贝。热拷贝跟热备很类似,只不过热备使用mysqldump命令,热拷贝使用mysqlhotcopy命令。热拷贝的优势在于支持服务运行中进行备份,速度快,性能好;劣势在于只能备份MyIsam的表,无法备份InnoDB的表。所以在生产环境中应该酌情使用。
二 示意图
三 热备模拟
第一步,热拷贝
[root@serv01 databackup]# mysqlhotcopy -uroot -p123456 --database larrydb > larrydb_hostcopy.sqlCan"t locate DBI.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/mysql/bin/mysqlhotcopy line 25.BEGIN failed--compilation aborted at /usr/local/mysql/bin/mysqlhotcopy line 25.
第二步,报错。因为这个命令是用perl写的或者此命令需要perl支持,所以需要安装perl
[root@serv01 databackup]# yum install perl* -y
第三步,对数据库larrydb热拷贝
[root@serv01 databackup]# mysqlhotcopy --help#第一种写法[root@serv01 databackup]# mysqlhotcopy --user=root --password=123456 larrydb /databackup/#第二种写法[root@serv01 databackup]# mysqlhotcopy -u root -p 123456 larrydb /databackup/Flushed 2 tables with read lock (`larrydb`.`class`, `larrydb`.`stu`) in 0 seconds.Locked 0 views () in 0 seconds.Copying 5 files...Copying indices for 0 files...Unlocked tables.mysqlhotcopy copied 2 tables (5 files) in 0 seconds (0 seconds overall).
第四步,模拟数据丢失
[root@serv01 databackup]# ll larrydbtotal 36-rw-rw----. 1 mysql mysql 8590 Sep 10 19:07 class.frm-rw-rw----. 1 mysql mysql 65 Sep 10 19:07 db.opt-rw-rw----. 1 mysql mysql 8618 Sep 10 19:07 stu.frm-rw-rw----. 1 mysql mysql 48 Sep 10 19:07 stu.MYD-rw-rw----. 1 mysql mysql 1024 Sep 10 19:07 stu.MYImysql> use larrydb;Database changedmysql> show tables;+-------------------+| Tables_in_larrydb |+-------------------+| class || stu |+-------------------+2 rows in set (0.00 sec)mysql> show create table class G;*************************** 1. row *************************** Table: classCreate Table: CREATE TABLE `class` (`cid` int(11) DEFAULT NULL,`cname` varchar(30) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin11 row in set (0.00 sec)ERROR: No query specifiedmysql> show create table stu G;*************************** 1. row *************************** Table: stuCreate Table: CREATE TABLE `stu` (`sid` int(11) DEFAULT NULL,`sname` varchar(30) DEFAULT NULL,`cid` int(11) DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin11 row in set (0.00 sec)ERROR: mysql> drop table class,stu;Query OK, 0 rows affected (0.01 sec)mysql> show tables;Empty set (0.00 sec)#这样删除会出错,不要这样删除[root@serv01 databackup]# rm -rf /usr/local/mysql/data/larrydb/*[root@serv01 databackup]# rm -rf /usr/local/mysql/data/larrydb/
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2013-11/93167p2.htm
相关阅读:MySQL备份和恢复具体实施 http://www.linuxidc.com/Linux/2012-12/76257.htmMySQL备份:mylvmbackup介绍与使用 http://www.linuxidc.com/Linux/2013-11/92423.htmLinux下通过mysqldump备份MySQL数据库成sql文件 http://www.linuxidc.com/Linux/2013-02/79793.htmLinux中使用mysqldump对MySQL数据库进行定时备份 http://www.linuxidc.com/Linux/2012-03/56063.htm磁盘管理——LVM http://www.linuxidc.com/Linux/2013-11/93165.htm
MySQL备份与恢复之热备MySQL备份与恢复之保证数据一致性相关资讯 mysql备份与恢复 MySQL热拷贝
- MySQL备份与恢复之percona- (12/01/2013 20:16:43)
- MySQL备份与恢复之保证数据一致性 (11/26/2013 06:41:02)
- MySQL备份与恢复之真实环境使用冷 (11/26/2013 06:17:25)
| - MySQL备份与恢复之percona- (12/01/2013 20:10:57)
- MySQL备份与恢复之热备 (11/26/2013 06:34:04)
- MySQL备份与恢复之冷备 (11/26/2013 06:14:03)
|
本文评论 查看全部评论 (0)