热备模拟
第一步,热拷贝
[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 mysql65 Sep 10 19:07 db.opt-rw-rw----. 1 mysql mysql 8618 Sep 10 19:07 stu.frm-rw-rw----. 1 mysql mysql48 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/
[root@serv01 databackup]# cp larrydb /usr/local/mysql/data/ -arvf`larrydb" -> `/usr/local/mysql/data/larrydb"`larrydb/stu.MYI" -> `/usr/local/mysql/data/larrydb/stu.MYI"`larrydb/stu.MYD" -> `/usr/local/mysql/data/larrydb/stu.MYD"`larrydb/stu.frm" -> `/usr/local/mysql/data/larrydb/stu.frm"`larrydb/db.opt" -> `/usr/local/mysql/data/larrydb/db.opt"`larrydb/class.frm" -> `/usr/local/mysql/data/larrydb/class.frm"mysql> use larrydb;Database changedmysql> show tables;+-------------------+| Tables_in_larrydb |+-------------------+| class || stu|+-------------------+2 rows in set (0.00 sec)mysql> select * from class;ERROR 1146 (42S02): Table "larrydb.class" doesn"t existmysql> select * from stu;+------+---------+------+| sid | sname| cid |+------+---------+------+|1 | larry01 |1 ||2 | larry02 |2 |+------+---------+------+2 rows in set (0.00 sec)mysql> drop database larrydb;Query OK, 2 rows affected (0.00 sec)#再次导入[root@serv01 databackup]# mysql -uroot -p123456 < larrydb.sqlmysql> use larrydb;Database changedmysql> show tables;+-------------------+| Tables_in_larrydb |+-------------------+| class || stu|+-------------------+2 rows in set (0.00 sec)mysql> select * from stu;+------+---------+------+| sid | sname| cid |+------+---------+------+|1 | larry01 |1 ||2 | larry02 |2 |+------+---------+------+2 rows in set (0.00 sec)mysql> select * from class;+------+--------+| cid | cname |+------+--------+|1 | linux ||2 | oracle |+------+--------+2 rows in set (0.00 sec)