标签:信息 text database 压缩 oca date des 图片 原来
数据库备份的分类(1)物理备份:指对数据库操作系统的物理文件(如数据文件、日志文件等)的备份。物理备份又可以分为脱机备份(冷备份)和联机各份(热备份)。
(2)逻辑备份:指对数据库逻辑组件(如表等数据库对象)的备份。
(1)完全备份:每次对数据进行完整的备份。可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,做一次完全备份的周期要长些。
(2)差异备份:备份那些自从上次完全备份之后被修改过的文件,只备份数据库部分的内容。它比最初的完全备份小,因为只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。
(3)增量备份:只有那些在上次完全备份或者增量备份后被修改的文件才会被备份。
MySQL数据库的备份可以采用两种方式,因为数据库实际上就是文件,直接打包数据库文件夹,或者是使用专门备份工具mysqldump都可以进行备份工作
MySQL的数据库文件默认都是保存在安装目录的data文件夹下面,可以直接保存data文件夹,但是占用的空间较大,可以使用tar打包压缩进行保存。
数据库文件很大,可以使用压缩率较大的xz格式压缩,首先需要安装xz压缩格式工具
yum install xz -y
tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/ //将/usr/local/mysql/data/目录下所有内容进行备份到/opt目录下以带日期格式命名
tar Jxvf /opt/mysql-2018-07-18.tar.xz /usr/local/mysql/data/
mysql -u root -p //以管理员身份进入数据库
create database school; //创建school数据库
use school; //进入school数据表
create table info (id int(4) primary key,name varchar(10) not null); //创建info数据表
#添加三条记录
insert into info (id,name) values (1,‘jack‘);
insert into info (id,name) values (2,‘tom‘);
insert into info (id,name) values (3,‘xxy‘);
mysql> select * from info; //查看info表的信息
+----+------+
| id | name |
+----+------+
| 1 | jack |
| 2 | tom |
| 3 | xxy |
+----+------+
mysqldump -u root -p school > /opt/school.sql //将school数据库备份到/opt目录下命名为school.sql
#若有多个数据库需要备份,则使用如下命令
mysqldump -u root -p --databases school01 school02 > /opt/school.sql //备份school01 school02两个数据库
#可使用如下命令备份所有数据库
mysqldump -u root -p --opt --all-databases > /opt/all.sql //备份所有数据库
#还可以对表结构进行备份
mysqldump -u root -p -d school info > /opt/desc-info.sql //备份school数据库中info表结构
mysqldump -u root -p school info > /opt/info.sql //备份school数据库中的info表
若原本数据库内数据损坏,想将备份的数据导回,需要建立空数据库才可导回,或者将原本损坏数据库删除,建立同名数据库导回数据
mysql -u root -p school < /opt/info.sql //将/opt/info.sql表导回数据库school中
回到数据库查看,可看到原来的数据已恢复
标签:信息 text database 压缩 oca date des 图片 原来
原文地址:http://blog.51cto.com/13641879/2146914