目录
1.1.1根据服务器的状态 可以分为 热备份 温备份 冷备份:
1.1.3从数据收集来分,可以完全备份、增量备份、差异备份:
1.备份
在数据库中尽管采取了一定的措施来预防数据的丢失,但是并不能确定数据的意外丢失,列如意外的停电,管理人员的操作失误造成了数据的丢失。所以为了保证数据的安全性,就需要做定期的备份,以至于把损失降到最低,MySQL提供了多种的方法来备份和恢复。
1.1.备份的类型:
1.1.1根据服务器的状态 可以分为 热备份 温备份 冷备份:
热备份:服务器的读写不受影响
温备份: 只能够执行读操作
冷备份:离线备份 读写均不能操作
1.1.2 从对象来分,可以分为物理备份与逻辑备份:
物理备份:复制数据和文件
逻辑备份:将数据导出至文本文件
1.1.3从数据收集来分,可以完全备份、增量备份、差异备份:
完全备份:备份全部数据;
增量备份:仅备份上次完全备份或增量备份以后变化的数据;
差异备份:仅备份上次完全备份以来变化的数据;
1.2 逻辑备份的优缺点:
优点:
在备份速度上两种备份要取决于不同的存储引擎
物理备份的还原速度非常快。但是物理备份的最小粒度只能做到表
逻辑备份保存的结构通常都是纯ASCII的,所以我们可以使用文本处理工具来处理
逻辑备份有非常强的兼容性,而物理备份则对版本要求非常高
逻辑备份也对保持数据的安全性有保证
缺点:
逻辑备份要对RDBMS产生额外的压力,而裸备份无压力
逻辑备份的结果可能要比源文件更大。所以很多人都对备份的内容进行压缩
逻辑备份可能会丢失浮点数的精度信息
1.3备份的内容
数据文件 日志文件 存储过程 配置文件
1.4备份工具
mysqldump,是mysql数据库管理系统,自带的逻辑备份工具,支持所有引擎 MyISAM引擎是温备, InnoDB引擎是热备,备份速度中速,还原速度非常非常 慢但是在实现还原的时候,具有很大的操作余 地。具有很好的弹性。(MySQL自 带备份工具)
1.5.示例
CREATE DATABASE booksDB; //创建数据库
use booksDB;CREATE TABLE books //创建表
(
bk_id INT NOT NULL PRIMARY KEY,
bk_title VARCHAR(50) NOT NULL,
copyright YEAR NOT NULL
);
INSERT INTO books //插入数据
VALUES (11078, 'Learning MySQL', 2010),
(11033, 'Study Html', 2011),
(11035, 'How to use php', 2003),
(11072, 'Teach youself javascript', 2005),
(11028, 'Learing C++', 2005),
(11069, 'MySQL professional', 2009),
(11026, 'Guide to MySQL 5.5', 2008),
(11041, 'Inside VC++', 2011);CREATE TABLE authors
(
auth_id INT NOT NULL PRIMARY KEY,
auth_name VARCHAR(20),
auth_gender CHAR(1)
);
INSERT INTO authors
VALUES (1001, 'WriterX' ,'f'),
(1002, 'WriterA' ,'f'),
(1003, 'WriterB' ,'m'),
(1004, 'WriterC' ,'f'),
(1011, 'WriterD' ,'f'),
(1012, 'WriterE' ,'m'),
(1013, 'WriterF' ,'m'),
(1014, 'WriterG' ,'f'),
(1015, 'WriterH' ,'f');CREATE TABLE authorbook
(
auth_id INT NOT NULL,
bk_id INT NOT NULL,
PRIMARY KEY (auth_id, bk_id),
FOREIGN KEY (auth_id) REFERENCES authors (auth_id),
FOREIGN KEY (bk_id) REFERENCES books (bk_id)
);INSERT INTO authorbook
VALUES (1001, 11033), (1002, 11035), (1003, 11072), (1004, 11028),
(1011, 11078), (1012, 11026), (1012, 11041), (1014, 11069);
1、使用mysqldump命令备份数据库中的所有表
[root@mysql ~]# mysqldump -uroot -pRedHat@123 booksDB > /booksDB.sql
2、备份booksDB数据库中的books表
[root@mysql ~]# mysqldump -uroot -pRedHat@123 booksDB books >/booksDB_bo