数据库备份及恢复操作

备份文件数据类型

1、数据文件 info.ibd //info为表名
2、表结构文件 info.frm
3、表属性文件 db.opt

备份类型

- 物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份。  
    --脱机备份(冷备份):在关闭数据库时进行的备份操作,能较好的保证数据库的完整性。    
    --联机备份(热备份):在数据库运行状态时进行操作,这种备份依赖于数据库的日志文件。

- 逻辑备份:针对数据库的逻辑组件(如数据库对象的备份)    
    ①完全备份:每次对数据库进行完整备份,可备份整个数据库,但需花费较多空间与时间。     
    ②差异备份:备份自从上次完全备份之后被修改过的文件,只备份数据库的部分内容,但是有些东西会被重复备份。    
    ③增量备份:只有那些上次完全备份或者增量备份后被修改的文件才会去被备份。

使用tar包打包备份:

对数据库文件夹进行打包操作:
tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/

利用tar包还原数据库文件:
tar Jxvf /opt/mysql-2018-7-2.tar.zx /usr/local/mysql/data/

使用mysqldump工具备份:

mysqldump -u root -p school > /opt/shcool.sql  //针对school数据库备份

mysqldump -u root -p --databases 库名1 库名2 > /opt/1-2.sql  //多数据库备份,--databases后面只能跟数据库

mysqldump -u root -p --opt --all-databases > /opt/all.sql  //备份全部数据库

mysqldump -u root -p school info > /opt/school-info.sql  //备份数据库后面的表

mysqldump -u root -p -d school info > /opt/desc-info.sql  //仅备份表的结构

恢复数据库

不论是哪一种模式,必须要先建立同名数据库,然后才可恢复,不论备份还是恢复,都可结合crontab周期性计划任务执行

source在mysql模式下执行:
mysql> 
    use school;
    show tables;
    drop table info;   //删除info表
    show tables;
    source /opt/school-info.sql   //执行备份库下的表文件

mysql在Linux命令下执行:

mysql -u root -p school < /opt/school-info.sql   //执行备份库下的表文件

猜你喜欢

转载自blog.51cto.com/13659253/2135132