数据库的备份分为物理备份逻辑备份
物理备份分为冷备份和热备份
冷备份:需要将数据库关闭才能进行备份。
热备份:无需关闭数据库也可备份。
逻辑备份
对数据库的逻辑组件的备份,库,表等
备份可分为完全备份,差异备份,增量备份
完全备份:备份整个数据库
增量备份:对于上次备份的内容进行增量备份,增加上次增量或完整备份操作或一段时间操作的表或库。
差异备份:无视增量备份,只针对上次完整备份的之后所有操作进行备份。
方法一、完全备份
1、使用压缩工具备份
yum install xz -y
2、压缩数据库,进行备份
tar Jcvf /root/abc/mysql-$(date +%F).tar.xz /usr/local/mysql/data
释义:date +%F
3、效果视图
(生成)压缩文件
4、还原数据库
tar Jxvf root/abc/mysql-2018-08-30.tar.xz -C /usr/local/mysql/data/
方法二、使用mysqldump工具进行备份
实验模板使用school库
1、备份school库
mysqldump -uroot -p123123 school > /root/abc/school.sql
能查看到以.sql为结尾的备份文件
2、还原数据库
以该形式备份需要先创建指定数据库,再进行还原。
!未创建指定数据库时还原的提示如下
会提示你未找到database school库
!先创建完指定数据库后
create database school;
再次执行该命令
mysqldump -uroot -p123123 school > /root/abc/school.sql;
或者进入数据库中
use school;
source /root/abc/school.sql
使用以上两种方式都可以恢复数据
完成数据库恢复!
《备份及恢复扩展》
以上所及恢复数据库时都需要先创建指定数据库
1、不创建指定数据库恢复数据如下:
mysqldump -u root -p123123 --databases school > /opt/school.sql
在原有命令基础上添加 --databases 则恢复时不需要预先创建指定数据库
2、数据恢复
mysql -uroot -p123123 < /root/abc/school.sql
或者
source /root/abc/school.sql
两种方法皆可,无需再预先创建数据库。
备份表
备份表方法与以上相似
mysqldump -u root -p school info > /root/abc/info.sql
恢复时只需要指定一下库的名称即可
mysql -u root -p123123 school </root/abc/info.sql
备份表的结构
有时我们只需要一个表的结构去使用,也可备份表的结构
mysqldump -u root -p -d school info > /opt/infos.sql
the end~
原文地址:http://blog.51cto.com/13760226/2166738