欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年08月12日 11:09:22   作者:Wentasy  
熱拷貝支持服務(wù)運(yùn)行中進(jìn)行備份,速度快,性能好,但它的劣勢(shì)在于只能備份MyIsam的表,無法備份InnoDB的表,對(duì)熱拷貝感興趣的朋友可以參考一下這篇文章

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

示意圖

熱備模擬

第一步,熱拷貝

[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.

第二步,報(bào)錯(cuò)。因?yàn)檫@個(gè)命令是用perl寫的或者此命令需要perl支持,所以需要安裝perl

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

第三步,對(duì)數(shù)據(jù)庫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).

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

[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)
 
#這樣刪除會(huì)出錯(cuò),不要這樣刪除
[root@serv01 databackup]# rm -rf /usr/local/mysql/data/larrydb/*
[root@serv01 databackup]# rm -rf /usr/local/mysql/data/larrydb/

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

[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命令,希望大家可以親自動(dòng)手操作一下!

相關(guān)文章

  • 初始化MySQL用戶(刪除匿名用戶)

    初始化MySQL用戶(刪除匿名用戶)

    安裝完MySQL后,系統(tǒng)默認(rèn)會(huì)創(chuàng)建一個(gè)不需要密碼的root用戶,和一個(gè)無用戶名無密碼的匿名用戶(Anonymous Account)。進(jìn)行下面的初始化操作以合理授權(quán),增強(qiáng)安全
    2016-01-01
  • MySql狀態(tài)查看方法 MySql如何查看連接數(shù)和狀態(tài)?

    MySql狀態(tài)查看方法 MySql如何查看連接數(shù)和狀態(tài)?

    如果是root帳號(hào),你能看到所有用戶的當(dāng)前連接。如果是其它普通帳號(hào),只能看到自己占用的連接
    2012-11-11
  • Mac下mysql 8.0.22 找回密碼的方法

    Mac下mysql 8.0.22 找回密碼的方法

    這篇文章主要介紹了Mac下mysql 8.0.22 找回密碼的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • RedHat下MySQL的基本使用方法分享

    RedHat下MySQL的基本使用方法分享

    RedHat 下MySQL安裝,簡(jiǎn)單設(shè)置以用基本的使用方法,需要的朋友可以參考下。
    2011-08-08
  • MySQL下使用Inplace和Online方式創(chuàng)建索引的教程

    MySQL下使用Inplace和Online方式創(chuàng)建索引的教程

    這篇文章主要介紹了MySQL下使用Inplace和Online方式創(chuàng)建索引的教程,針對(duì)InnoDB為存儲(chǔ)引擎的情況,需要的朋友可以參考下
    2015-11-11
  • mysql存儲(chǔ)過程實(shí)現(xiàn)split示例

    mysql存儲(chǔ)過程實(shí)現(xiàn)split示例

    這篇文章主要介紹了mysql存儲(chǔ)過程實(shí)現(xiàn)split示例,需要的朋友可以參考下
    2014-05-05
  • MySQL索引優(yōu)化Explain詳解

    MySQL索引優(yōu)化Explain詳解

    這篇文章主要介紹了MySQL索引優(yōu)化Explain詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • mysql tmp_table_size優(yōu)化之設(shè)置多大合適

    mysql tmp_table_size優(yōu)化之設(shè)置多大合適

    這篇文章主要介紹了mysql tmp_table_size優(yōu)化問題,很多朋友都會(huì)問tmp_table_size設(shè)置多大合適,其實(shí)既然你都搜索到這篇文章了,一般大于64M比較好,當(dāng)然你也可以可以根據(jù)自己的機(jī)器內(nèi)容配置增加,一般64位的系統(tǒng)能充分利用大內(nèi)存
    2016-05-05
  • MySQL 集群遷移到 Kubernetes操作步驟

    MySQL 集群遷移到 Kubernetes操作步驟

    這篇文章主要為大家介紹了MySQL 集群遷移到 Kubernetes使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • mysql開啟慢查詢(EXPLAIN SQL語句使用介紹)

    mysql開啟慢查詢(EXPLAIN SQL語句使用介紹)

    這篇文章主要介紹了mysql開啟慢查詢 EXPLAIN SQL語句,需要的朋友可以參考下
    2018-01-01

最新評(píng)論