mysql中数据如何备份_mysql数据库如何进行备份和恢复
一、确保mysql开启了binlog日志功能
在/etc/my.cnf文件里的[mysqld]区块添加:
#这个是存储的位置为mysql配置文件的位置
log-bin=mysql-bin
然后重启mysql服务生效
二、创建数据库
先创建一个ops数据库
create database ops;
use ops;
创建一个customers表并写上表结构
create table customers(
id int not null auto_increment,
name char(20) not null,
age int not null,
primary key(id)
)engine=InnoDB;
查看创建好的表
desc customers;
表中插入数据:
insert into customers values(1,"wangbo","24");
insert into customers values(2,"guohui","22");
insert into customers values(3,"zhangheng","27");
检查插入数据:
select * from customers;
三、进行数据库全量备份
mysqldump -uroot -p -B -F -R -x --master-data=2 ops|gzip >/alidata/mysql_bakcup/ops_$(date +%F).sql.gz
ls /alidata/mysql_bakup
参数说明:
-B: 指定数据库
-F:刷新日志
-R:备份存储过程等
-x:锁表
--master-data:在备份语句里添加CHANGE MASTER语句以及binlog文件及位置信息
四、再次插入数据
insert into customers values(4,"liupeng","21");
insert into customers values(5,"xiaoda","31");
insert into customers values(6,"fuaiai","26");
查看最新插入的数据
select * from customers;
五、模拟误操作、删除ops数据库
drop database ops;
此时,全备之后到误操作时刻之间,用户写入的数据在binlog中,需要恢复出来!
查看全备之后新增的binlog文件
cd /alidata/mysql_bakcup
#解压出已经备份好的数据库
gzip -d ops_2019-04-23.sql.gz
ls
查看数据库变化的时刻
grep CHANGE ops_2019-04-23.sql
这是全备时候的binlog文件位置 mysql-bin.000006的第106行
因此在该文件之前的binlog文件中的数据都已经包含在这个全备的sql文件中了
移动到binlog文件,并导出sql文件,提出其中的drop语句
查看mysql数据存放目录,由如下信息可知在/var/lib/mysql目录下
ps -ef |grep mysql
cd /var/lib/mysql
cp mysql-bin.000006 /alidata/mysql_bakcup/
cd /alidata/mysql_bakcup/
mysqlbinlog mysql-bin.000006 >006bin.sql #即将binlog日志转化为可正常导入的sql文件
vim 006bin.sql 删除里面drop语句
注意:在恢复全备数据之前必须将binlog文件移出,否则恢复过程中,会继续写入语句到binlog,最终导致增量恢复数据部分变的比较混乱
六、恢复数据
mysql -uroot -p
查看数据库,看看ops库在不在
show databases
use ops;
select * from customers;
#此时恢复了全备时刻时候的数据
接着,使用006bin.sql文件恢复全备时刻到删除ops数据库之前,新增的数据
mysql -uroot -p ops <006bin.sql
再次查看数据库,发现备份到删除数据库之前的那部分数据也恢复了!
select * from customers;
以上就是mysql数据库增量数据恢复的实例过程!
最后总结几点:
1)本案例适合认为SQL语句造成的误操作或者没有主从复制等热备情况宕机时的修复
2)恢复条件为mysql要开启binlog日志功能,并且要全备和增量所有数据
3)恢复时建议对外定制更新,即禁止更新数据库
4)先恢复全量,然后把全备时刻点以后增量日志,按顺序恢复成SQL文件,然后把文件中有问题的SQL语句删除,在恢复到数据库
mysql中数据如何备份_mysql数据库如何进行备份和恢复相关推荐
- mysql 修复数据表 批量_MySQL数据库迁移与MySQL数据库批量恢复
一.MySQL数据库迁移或备份 将相关数据库数据文件直接迁移方式 1. 了解使用InnoDB引擎创建数据库所产生的文件 使用MySQL InnoDB引擎所产生的文件(三个文件都很重要) .ibd:包含 ...
- mysql binlog 备份_Mysql数据库的增量备份与还原
一.备份的目的 做灾难恢复:对损坏的数据进行恢复和还原. 二.备份需要考虑的问题 可以接受丢失多少数据: 恢复数据的时间要多久: 恢复数据时是否持续提供服务: 恢复的对象,是一个库,多个表,单个表,还 ...
- mysql中关系怎么弄_mysql数据库关系操作
### mysql数据库 #### 知识要点: 1. 数据操作增.删.改 2. 外键约束要求 3. 一对多表关系 4. 一对一表关系 5. 多对多表关系 6. 外键约束的参照操作 ### 数据操作 # ...
- mysql中unsigned怎么用_mysql 数据库unsigned的用法
在mysql数据库中,unsigned表面含义是 '无符号'的意思,unsigned既为非负数,用此类型可以增加数据长度. 例如,如果 int最大是2147683647,那 tint unsi ...
- mysql录数据总是错误_MySQL数据库出错
在主库上备份表 t (假设备份快照 GTID 为 aaaa:1-10000): 恢复到从库: 启动复制. 这里的问题是复制起始位点是 aaaa:101,从库上表 t 的数据状态是领先其他表的.aaaa ...
- mysql中sql语句使用_mysql数据库中用到sql语句
一.删除mysql表中的的索引 alter table DM_Equipment_Fixed drop index name ; 添加索引:ALTER TABLE table_name ADD IND ...
- mysql中输入没反应_mysql数据库插入无反应问题
情景再现: 页面点击插入数据操作无反应 问题追溯: 查看日志,sql执行语句输出,sql语句无错,报异常Lock wait timeout exceeded; try restarting trans ...
- mysql中数据加减_mysql日期加减
一.MySQL 为日期增加一个时间间隔:date_add(). 1. 示例: set @dt = now(); select date_add(@dt, interval 1 day); ...
- mysql 备份_MySQL数据库备份实操
本文基于mysql(8.0.20)及xtrabackup(8.0.13)最新版本,实现了完整的mysqldump逻辑备份.binlog增量备份.xtrabackup物理备份恢复,帮你快速掌握操作要点 ...
最新文章
- mac安装mysql修改密码_Mac下安装MySQL 5.7.28并且修改root密码-Go语言中文社区
- 32 vs 开发wince_“激光大炮”上央视了!秒射气球 一键启动32响
- jdk 1.8 不可变常量_在JDK 10中不可变与不可修改
- 条款一:尽量使用const、inline而不是#define
- python必背100源代码-python 100例 (持续更新)
- 基于STM32移植UCGUI图形界面框架(3.9.0源码版本)
- kvaser在linux下的二次开发
- 车载以太网测试之实锤-基于电阻噪声和高斯噪声的SQI测试对比
- VS2015导出带文件的项目模板
- 【性能监测】前端性能监测方法总结(非监测平台)
- 手机游戏连接计算机屏幕,手机怎么投屏到电脑?简单几个步骤就能实现,看电影玩游戏爽爆了...
- itmo大学计算机专业,【俄罗斯圣光机大学访学】计算机学院ITMO交流访学团
- Python生成透明背景图片
- 其实软件测试工程师也是程序员,很多人不知道
- WifiManager详解
- Flutter成都开发者线下交流会实录
- npm安装私有指定路径的依赖包
- 2023年科普新书大盘点:重磅新书,值得期待!
- OpenCORE原理和核心代码破解,增加AVI格式。
- C程序括号匹配检查(带详细注释)
热门文章
- Ubuntu18 USB网卡驱动安装踩坑记录
- 如何安装和配置DB2的ODBC驱动及数据源
- 英伟达正式启用GPU虚拟机显卡直通功能,Linux也能玩Windows游戏
- Python+Vue计算机毕业设计高考填报志愿综合参考系统1kc8i(源码+程序+LW+部署)
- 1-10-RHEL6.3-linux启动原理及各种故障案例分析(Red Hat Enterprise Linux Server6.3)@树袋飘零...
- FLV Binder下载
- ubuntu 修改开机启动项默认值
- 工业物联 成就智能制造 IIoT未来布局!OFweek 2019工业物联网技术与应用峰会4月即将来袭
- QMS-云质-质量管理软件-如何助力质量人员提高工作效率与绩效—供应商质量评审
- 远程答题的稳定与速度