mysql 二进制日志变化_MySQL运维之二进制日志

MySQL二进制日志里保存会造成或可能造成数据变化的SQL语句。通过二进制日志可以完成如实时异地容灾备份、读写分离、数据恢复等功能。下面,我们一起来看看Mysql二进制日志。

开启bin-log日志

Mysql默认是没有开启bin-log日志的,需要我们自己去添加配置。log-bin=mysql-binbinlog_format=mixedserver-id= 1expire_logs_days = 10log-bin 配置了该项后,即表示开启二进制日志功能。mysql-bin是bin-log日志文件名。

expire_logs_days = 10 表明只存放最近10天的bin-log日志。

一般bin-log日志存放在 mysql安装路径/var/下面

运维提示:二进制日志文件与数据库数据文件最好不要放在同一块硬盘上,如果存放数据文件的硬盘坏了,可以用另一块硬盘的二进制日志来恢复数据

几个有用的命令

flush logs:生成新的bin-log日志

show master status:查看最后一个bin-log日志状态。

reset master:清空所有bin-log文件

mysql > show master status

50461daed2f5b6159f5823231874a852.png

Mysql日志的查看

因为该日志是二进制日志,所以用一般的命令cat或vim查看会是一推乱码。Mysql为我们提供了工具mysqlbinlog。用它就可以来查看了。./mysqlbinlog ../var/mysql-bin.000015……# at 123#2006018:35:19 server id 1end_log_pos 154 CRC32 0xd25b404ePrevious-GTIDs# [empty]SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;DELIMITER ;# End of log file/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;……at:sql开始时pos节点

server_id:数据库主机的服务号;

end_log_pos 154:sql结束时的pos节点

mysqlbinlog常见的选项有以下几个:

--start-datetime:从二进制日志中读取指定等于时间戳或者晚于本地计算机的时间

--stop-datetime:从二进制日志中读取指定小于时间戳或者等于本地计算机的时间 取值和上述一样

--start-position:从二进制日志中读取指定position 事件位置作为开始。

--stop-position:从二进制日志中读取指定position 事件位置作为事件截至

-d,--database=name:只查看指定数据库的日志操作

使用bin-log日志来恢复数据

导出sql文件命令:mysqldump 数据库名字 [数据表名字1[ 数据表名字2...]] > 外部文件目录(建议使用.sql)

sql文件导入数据库:mysql -u** -p**数据库名字 < 备份文件目录

现在模拟一种场景:一数据库每晚3点定时备份,第二天网站正常运行了半天,突然在下午5点钟的时候,程序员小A不小心,DELETE 时候没有加WHERE 条件,然后其中某张表数据全没了。然后小A找到技术总监大圣,让大圣帮忙恢复数据。

binlog_test 数据库只有一张user表

凌晨三点时没备份前的数据如下:+---------+----------+---------------------+| user_id | username | add_time|+---------+----------+---------------------+|1 | gwx| 2018-07-05 13:00:31 ||2 | snn| 2018-07-05 14:00:00 ||3 | zy| 2018-07-05 15:00:00 |+---------+----------+---------------------+凌晨3点到了,备份数据mysqldump binlog_test -l -F > /root/sql_backup/20180706.sqlll /root/sql_backup/总用量 4-rw-r--r-- 1 root root 2149 7月6 13:42 20180706.sql=======数据备份完成=========网站正常运行一段时间,有许多用户注册INSERT INTO `user` (username) values('user1'),('user2'),('user3');Query OK, 3 rows affected (0.01 sec)Records: 3Duplicates: 0Warnings: 0select * from user;+---------+----------+---------------------+| user_id | username | add_time|+---------+----------+---------------------+|1 | gwx| 2018-07-05 13:00:31 ||2 | snn| 2018-07-05 14:00:00 ||3 | zy| 2018-07-05 15:00:00 ||4 | user1| 2018-07-06 15:01:18 ||5 | user2| 2018-07-06 15:01:18 ||6 | user3| 2018-07-06 15:01:18 |+---------+----------+---------------------+==============新增了3个用户user1 user2 及user3==============到了下午5点钟,小A开始犯傻了DELETE FROM user;Query OK, 6 rows affected (0.00 sec)=========没where条件,数据全没了===========小A找到大圣帮忙恢复数据,大圣先把昨晚凌晨三点数据给恢复了service nginx stop;# 大圣先关闭了nginx,使网站用户暂时访问不了数据库Stoping nginx...done MariaDB [binlog_test]> flush logs;#生成新的binlog日志MariaDB [binlog_test]> show master status;+------------------+----------+--------------+------------------+| File| Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000003 |1536 |||+------------------+----------+--------------+------------------+mysql -v -f binlog_test < /root/sql_backup/20180706.sql这时候大圣已经把昨晚凌晨3点时候数据恢复了MariaDB [binlog_test]> select * from user;+---------+----------+---------------------+| user_id | username | add_time|+---------+----------+---------------------+|1 | gwx| 2018-07-05 13:00:31 ||2 | snn| 2018-07-05 14:00:00 ||3 | zy| 2018-07-05 15:00:00 |+---------+----------+---------------------+=============昨晚凌晨三点数据恢复完成===============接下来恢复凌晨三点到DELETE间段数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

影响和改变世界的50件发明专利,猜下中国有几个?

来源&#xff1a;国家知识产权局创新创造未来&#xff0c;专利改变世界。最近几十年究竟有哪些专利真正改变了世界呢&#xff1f;国家识产权局选取了一批具有历史意义的、促进社会经济发展的、对人类社会产生重要影响的中外专利。未来智能实验室的主要工作包括&#xff1a;建立…

js 自动分配金额_JS内存图以及原型与原型链

内存以及内存图在JS中&#xff0c;每一个数据都需要一个内存空间。内存空间又被分为两种&#xff0c;栈内存(stock)与堆内存(heap)。JS内存空间分为栈(stack)、堆(heap)、池(一般也会归类为栈中)。 其中栈存放变量&#xff0c;堆存放复杂对象&#xff0c;池存放常量。JS中的基础…

全球首个AI宇宙模拟器不仅有6亿光年宽度,还“自行”跑出了暗物质

来源&#xff1a;大数据文摘《创世纪》里&#xff0c;神用7天创造了这个世界。而现在&#xff0c;你可能也有机会体验这个过程&#xff0c;创造一个属于自己的宇宙。Space Engine 0.990版本在Steam平台发售不到一天&#xff0c;近300测评全部为最高评价。之后&#xff0c;还得到…

js 延迟几秒执行_深入研究 Node.js 的回调队列

// 每日前端夜话 第365篇// 正文共&#xff1a;3000 字// 预计阅读时间&#xff1a;10 分钟队列是 Node.js 中用于有效处理异步操作的一项重要技术。在本文中&#xff0c;我们将深入研究 Node.js 中的队列&#xff1a;它们是什么&#xff0c;它们如何工作(通过事件循环)以及它们…

java官方 jax rs_jboss7 Java API for RESTful Web Services (JAX-RS) 官方文档

原文&#xff1a;https://docs.jboss.org/author/display/AS7/JavaAPIforRESTfulWebServices(JAX-RS)ContentTutorial OverviewThis chapter describes the Java API for RESTful web services (JAX-RS, defined in JSR331). RESTEasy is an portable implementation of this s…

研究揭示大脑在工作记忆中存储信息的神经机制

来源&#xff1a;中国科学院脑科学与智能技术卓越创新中心&#xff08;神经科学研究所&#xff09;3月5日&#xff0c;《神经元》期刊在线发表了题为《无颗粒岛叶皮层瞬时性神经元活动调控学习新任务时的工作记忆存储》的研究论文。该研究由中国科学院脑科学与智能技术卓越创新…

[Jmeter] 基本使用的总结

转载于:https://www.cnblogs.com/mytianying/p/6793461.html

java 仿qq登录界面7.1_安卓开发学习笔记(七):仿写腾讯QQ登录注册界面

这段代码的关键主要是在我们的相对布局以及线性布局上面&#xff0c;我们首先在总体布局里设置为线性布局&#xff0c;然后再在里面设置为相对布局&#xff0c;这是一个十分常见的XML布局模式。废话不多说&#xff0c;直接上代码&#xff1a;一.activity.xml>android:layout…

【前沿科技】云计算军事运用有啥特点

来源&#xff1a; 军语开源情报研究所云计算技术被视为继大型计算机、个人计算机、互联网之后的第四次信息技术产业革命。云计算是一种围绕分布式共享计算资源的创新应用模式&#xff0c;资源提供者可以方便而快速地提供计算资源&#xff0c;而无处不在的资源需求者可以便利地使…

js原型和原型链_JS 构造函数与原型链

JavaScript 对象体系是基于构造函数和原型链的。继承不通过类&#xff0c;而是通过原型对象实现&#xff0c;原型对象的所有属性和方法&#xff0c;都能被实例对象共享。构造函数&#xff08;constructor&#xff09;在 JS 中想要生成可重用、可继承的对象就要使用构造函数&…

全球制造业的未来

来源&#xff1a;航空简报2020年3月4日&#xff0c;Brahima Coulibaly和Karim Foda在美国布鲁金斯学会官网刊文&#xff0c;分析了全球制造业的未来&#xff0c;提出了几个鲜明的观点&#xff1a;1.“比较优势”将发生转移&#xff0c;中等收入国家尤其是许多亚洲新兴经济体&am…

mybatis 批量修改_解放双手,不写SQL!一个开源 MyBatis 神器!!

什么是通用 Mapper&#xff1f;它是一个可以方便的使用 Mybatis 进行单表的增删改查优秀开源产品。它使用拦截器来实现具体的执行 Sql&#xff0c;完全使用原生的 Mybatis 进行操作。在 Github 上标星 9.6K&#xff01;为什么要用 Mapper&#xff1f;它提供了所有单表的基本增删…

论文速读:AI能从人类的愚蠢中学到什么?

来源&#xff1a;混沌巡洋舰本文来自对下面论文的编译和解读&#xff1a;导读&#xff1a;随着机器在某些认知问题上超越人类&#xff0c;人机协作将会带来越来越显著的影响。造成人类偏见的三个主要原因&#xff08;小而不完整的数据集&#xff0c;从自己的决策结果中学习&…

struts2的核心和工作原理

在学习struts2之前&#xff0c;首先我们要明确使用struts2的目的是什么&#xff1f;它能给我们带来什么样的优点&#xff1f; 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的优点就不在提了。技术优势 Struts2有双方面的技术优势&#xff0c;一…

mysql允许root远程连接_西部数码使用指南:远程桌面之终端服务器超出了最大允许连接数解决...

版权归西部数码所有&#xff0c;原文链接&#xff1a;https://www.west.cn/faq/list.asp?unid739出现这种情况的原因和解决办法。 原因:用远程桌面链接登录到终端服务器时经常会遇到“终端服务器超出最大允许链接数”诸如此类错误导致无法正常登录终端服务器&#xff0c;引起该…

关于征集2020重大科学问题和工程技术难题的通知

来源&#xff1a;中国指挥与控制学会学会全体会员&#xff1a;为研判未来科技发展趋势、前瞻谋划和布局前沿科技领域与方向&#xff0c;瞄准世界科技前沿&#xff0c;推进世界科技强国建设&#xff0c;根据《中国科协办公厅关于征集2020重大科学问题和工程技术难题的通知》精神…

怎么在别人网站注入js脚本_别人的网站是怎么实现引流的?这些站外SEO技巧是关键...

点击上方蓝字关注我们&#xff01;因为分享&#xff0c;我们相遇在SEO路上“网站上线一段时间了&#xff0c;为什么没有流量&#xff1f;为什么没有询盘&#xff1f;”对于做网络营销的企业而言&#xff0c;网站流量与询盘是建立网站的根本目的&#xff0c;可是为什么操作了一段…

比尔盖茨NEJM发文:新冠肺炎是百年一遇的流行病!全世界应该如何应对?

来源&#xff1a;生物谷面对任何危机&#xff0c;政府都有两个同等重要的责任&#xff1a;解决眼前的问题&#xff0c;并防止它再次发生。COVID-19大流行就是一个恰当的例子。我们现在需要拯救生命&#xff0c;同时也需要改善我们应对疫情的方式。第一点更为紧迫&#xff0c;但…

java实现上传图片代码_Java图片上传实现代码

本文实例为大家分享了java图片上传代码&#xff0c;供大家参考&#xff0c;具体内容如下import java.io.*;import java.net.*;/**发送端*/class picsend{public static void main(String[] args) throws Exception{if(args.length!1){System.out.println("请选择一张.jpg图…

中国数学相比与西方数学为什么会处于劣势?

来源&#xff1a;数学职业家虽然中国人更习惯【中国数学相比与西方数学为什么会处于劣势&#xff1f;】的视角&#xff0c;但私以为问【西欧数学为何可以独步天下】更合适。因为曾经辉煌过的阿拉伯数学、印度数学都落寞了。也没有其他任何地区的文明能达成西欧的成就。另外&…