>  기사  >  데이터 베이스  >  MySQL备份与恢复之热拷贝

MySQL备份与恢复之热拷贝

WBOY
WBOY원래의
2016-06-07 17:33:24820검색

热备也就是在MySQL或者其他数据库服务在运行的情况下进行备份。本文分享另外一种备份的方法,也就是热拷贝。热拷贝跟热备很类似,

在上一篇文章中我们提到热备(),,热备也就是在MySQL或者其他数据库服务在运行的情况下进行备份。本文分享另外一种备份的方法,也就是热拷贝。热拷贝跟热备很类似,只不过热备使用mysqldump命令,热拷贝使用mysqlhotcopy命令。热拷贝的优势在于支持服务运行中进行备份,速度快,性能好;劣势在于只能备份MyIsam的表,无法备份InnoDB的表。所以在生产环境中应该酌情使用。

 

二 示意图

三 热备模拟

 

 

第一步,热拷贝

[root@serv01 databackup]# mysqlhotcopy -uroot -p123456 --database larrydb > larrydb_hostcopy.sql Can'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.

 

[root@serv01 databackup]# yum install perl* -y

 

[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 larrydb total 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.MYI mysql> use larrydb; Database changed mysql> show tables; +-------------------+ | Tables_in_larrydb | +-------------------+ | class | | stu | +-------------------+ 2 rows in set (0.00 sec) mysql> show create table class \G; *************************** 1. row *************************** Table: class Create Table: CREATE TABLE `class` ( `cid` int(11) DEFAULT NULL, `cname` varchar(30) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec) ERROR: No query specified mysql> show create table stu \G; *************************** 1. row *************************** Table: stu Create Table: CREATE TABLE `stu` ( `sid` int(11) DEFAULT NULL, `sname` varchar(30) DEFAULT NULL, `cid` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 1 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/

更多详情见请继续阅读下一页的精彩内容:

相关阅读:

MySQL备份和恢复具体实施

MySQL备份:mylvmbackup介绍与使用

Linux下通过mysqldump备份MySQL数据库成sql文件

Linux中使用mysqldump对MySQL数据库进行定时备份

磁盘管理——LVM

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.