一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Mysql - MySQL備份與恢復(fù)之熱拷貝(4)

MySQL備份與恢復(fù)之熱拷貝(4)

2020-05-17 16:01Wentasy Mysql

熱拷貝支持服務(wù)運行中進行備份,速度快,性能好,但它的劣勢在于只能備份MyIsam的表,無法備份InnoDB的表,對熱拷貝感興趣的朋友可以參考一下這篇文章

       在上一篇文章中我們提到熱備,熱備也就是在MySQL或者其他數(shù)據(jù)庫服務(wù)在運行的情況下進行備份。本文分享另外一種備份的方法,也就是熱拷貝。熱拷貝跟熱備很類似,只不過熱備使用mysqldump命令,熱拷貝使用mysqlhotcopy命令。熱拷貝的優(yōu)勢在于支持服務(wù)運行中進行備份,速度快,性能好;劣勢在于只能備份MyIsam的表,無法備份InnoDB的表。所以在生產(chǎn)環(huán)境中應(yīng)該酌情使用。

示意圖

MySQL備份與恢復(fù)之熱拷貝(4)

熱備模擬

第一步,熱拷貝

?
1
2
3
[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.

第二步,報錯。因為這個命令是用perl寫的或者此命令需要perl支持,所以需要安裝perl

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

第三步,對數(shù)據(jù)庫larrydb熱拷貝

?
1
[root@serv01 databackup]# mysqlhotcopy --help

#第一種寫法

?
1
[root@serv01 databackup]# mysqlhotcopy --user=root --password=123456 larrydb /databackup/

#第二種寫法

?
1
2
3
4
5
6
7
8
[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).

 
第四步,模擬數(shù)據(jù)丟失

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[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/

 
第五步,恢復(fù)數(shù)據(jù)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
[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 changed
mysql> 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 exist
mysql> 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)
 
#再次導(dǎo)入
[root@serv01 databackup]# mysql -uroot -p123456 < larrydb.sql
 
mysql> use larrydb;
Database changed
mysql> 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)

 

本文介紹了另一種備份--熱拷貝,與熱備的區(qū)別在于使用的命令不同,熱拷貝使用mysqlhotcopy命令,希望大家可以親自動手操作一下!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品久久啪啪网站成年 | 免费高清特黄a 大片 | 欧美成人免费一区在线播放 | 成人私人影院在线版 | 亚洲免费大全 | 欧美日韩一本 | 色天天综合色天天看 | 国产精品视频在这里有精品 | 荡女人人爱 | 玩两个少妇女邻居 | 91调教| 第一国内永久免费福利视频 | 无码AV毛片色欲欧洲美洲 | 我被黄总征服的全过程 | 狠狠色婷婷 | 香港三级浴室女警官 | 欧美精品一国产成人性影视 | 99久久99热久久精品免费看 | 欧美久久一区二区三区 | chinese一bdsmⅹxx| 欧美精品综合一区二区三区 | 国产美女亚洲精品久久久综合 | 成在线人免费视频一区二区三区 | 亚洲美色综合天天久久综合精品 | 天天操天天草 | 亚洲国产精品无码中文字满 | 亚洲精品在线看 | 日产乱码卡一卡2卡三卡四福利 | 亚洲免费在线观看视频 | 欧美性xxxxxx爱 | 喘息揉弄1v1h老师 | 石原莉奈adn093店长未婚妻 | 精品久久99麻豆蜜桃666 | 精品无码国产污污污免费网站2 | 亚洲精品视频在线免费 | 波多野结衣同性系列698 | 白俄罗斯bbbsss | 99视频精品全部免费观看 | 啊哈~嗯哼~用力cao我小说 | 国产男女乱淫真视频全程播放 | 成人影院在线观看视频 |