最常用MySql数据库备份恢复
1、数据备份类型:
·完全备份:故名思议备份整个数据库
·部分备份:备份一部分数据集 ; ·增量备份:自上次备份以来的改变数据的备份;
·差异备份:自上次完全备份后改变数据的备份;
2、数据备份的方式: 存储引擎支持 MyISAM Innodb
·热备份:数据库启动,读写不影响 N Y
·温备份:读不影响,写不行 Y Y
·冷备份:数据库掉线,读写都不行 Y Y
3、需要备份的东西:
·数据
·二进制日志,Innodb事务日志
·代码
·服务器配置文件
4、备份工具策略
·cp,tar物理备份
·mysqldump备份
·lvm2备份
·xtrabackup备份
5、应用
一、cp
1)、进入Mysql查看当前数据库数据文件保存位置
查看Mysql的安装目录:
2
2)、在数据存放根目录新建backup文件夹,拷贝需要备份的数据文件放入其中
3)、当前数据库当前表
4)、删除test数据库文件模拟数据丢失,数据库
5)、把文件拷贝回去data,重启Mysql,回复数据库
二、mysqldump
1)、shell模式下,备份所有数据库到指定位置文件
生成的sql文件
2)、备份部分数据库(不带--databases的备份语句在生成的.sql文件中没有create database和use 语句,需要手动建立数据库,可能导致数据库名与之前不一致)
生成对应的sql文件
3)、备份数据库中的几张表
生成对应的.sql文件
4)、恢复sql格式的student数据库的备份文件(注意:指明use database 同时避免孤表的存在 孤表:外部data中.frm文件被移除而Innodb中的内部数据字典造成冲突,解决办法:建立相同数据结构的表拷贝.frm文件到data中,在drop删除表重建)
三、mysqlbinlog日志恢复
1)、查看log_bin是否开启
2)、查看binlog文件列表
3)、查看当前logbin文件的位置戳
4)、一顿增删改操作后在获取位置戳
5)、将数据库恢复到位置戳数据
6)、查看binlog文件的内容
四、符号分隔文件备份(数据)
1)、备份数据库表的数到外部文件
2)、导入外部文件到数据库表