手把手教你 MySQL 删库不跑路,首集 MySQL 的 binlog !
时间:2023-03-06 12:17:56
后,可执自为如下号令中止 mysql 罐(mysql1 是我这里罐的名字):
无锡哪家医院治疗前列腺炎最好
云南男科医院去哪家好
沈阳妇科哪家医院最好
合肥精神心理医院排行
docker restart mysql1
中止此后,再次次可执自为 show variables like 'log_bin%'; 方能看得见 binlog 已经掀开了。 这里除了 log_bin 表达式外,还有两个表达式名也特别我们注目: log_bin_basename:这个是无论如何转化成的 binlog 笔记机密文件的名称大写字母,换句话说道,根据大家现今所看得见的配有,无论如何转化成的 binlog 笔记机密文件叫好好 javaboy_logbin.xxx,这个机密文件中将但会用来日志所有的 DDL 和 DML 运算符惨剧。 log_bin_index:这个是 binlog 的引文机密文件,保存了所有 binlog 的书目,因为 binlog 可能但会有多个。我们可以来查阅一下今天的 javaboy_logbin.index 机密文件: 可以看得见,现今只有一个 logbin 机密文件。 三、罕见 binlog 可用 月里我们再次来简述几个罕见的 binlog 可用号令。 1、查阅所有 binlog 笔记 通过如下方式将我们可以查阅 binlog 笔记列所列:show master logs;
可以看得见,我这里现今只有一个笔记机密文件,机密文件叫好好 javaboy_logbin.000001,File_size 所列示这个机密文件迁出的字节微小是 154。 2、查阅 master 状态 这个号令我们在架起 MySQL 主从的时候经常但会用到,如下: 这个时候可以看得见同类型 binlog 笔记机密字符串称以及最后一个可用惨剧的 Position 值(这个值有啥用,我们后面但会给大家简要简述)。 3、连续 binlog 短时间来说道,一个 binlog 写成满此后,但会启动时切换到下一个 binlog 开始写成,不过我们也可以可执自为一个 flush logs 号令来手动连续 binlog,手动连续 binlog 此后,就但会转化成一个新的 binlog 笔记机密文件,月里所有的 binlog 笔记都将日志到新的机密文件中。如下: 由上图可以看得见,我们连续笔记此后,再次通过 show master logs 去查阅笔记,挖掘出笔记机密文件已经多了一个新的转化成的了,然后再次通过 show master status 去查阅同类型笔记机密文件文档,挖掘出也已经变为 javaboy_logbin.000002。 4、重置 binlog reset master 可以重置 binlog 笔记机密文件,让笔记重新的从 000001 开始日志,不过如果意味著主机有一个或者多个从机在运自为,那么该号令就运自为一定会(因为从机是通过 binlog 来实现元数据努该系统的,主机把 binlog 清空了,从机但会报找不到 binlog 的正确)。 5、查阅 binlog 由于 binlog 是小数笔记机密文件,所以要是直接打开,那称许是看一定会的: 一定会有看得见任何有用的文档。 为了查阅 binlog,MySQL 为我们提供了两个官方物件,我们一个一个来看,首到时是 mysqlbinlog 号令,如下: 虽然外表乱糟糟的,不过仔细看着实际上都有迹可循。因为我这里是一个新的内置的元数据努,而今只是创建了一个叫好好 javaboy 的努,然后创建了一个叫好好 user 的所列加了两条元数据,其他什么真的都一定会好好,所以创建努的脚本我们实际上能够从纷杂的机密文件中找。 转化成的笔记机密文件中亦有一个 end_log_pos 是笔记机密文件的 pos 点,这个无论如何在元数据只不过恢复的时候有用。 不过这种查阅方式将不够个性化,我们说道 binlog 是按照惨剧来日志笔记的,所以如果我们能够按照惨剧的方式将查阅笔记,就但会好很多,我们再次来到底如下一个号令:show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];
这个所列示以惨剧的方式无论如何查阅 binlog,这里包括到几个变量: log_name:可以所选要查阅的 binlog 笔记机密字符串,如果不所选的话,所列示查阅最早的 binlog 机密文件。 pos:从哪个 pos 点开始查阅,凡是 binlog 日志下来的可用都有一个 pos 点,这个实际上就是略低于我们可以所选从哪个可用开始查阅笔记,如果不所选的话,就都从该 binlog 的开头开始查阅。 offset:这是是bit,不所选默认就是 0。 row_count:查阅多少自为日志,不所选就是查阅所有。 我们来看一个有用的例子:show binlog events in 'javaboy_logbin.000001';
这下就准确多了,我们可以看得见之前的所有可用,例如: 在 Pos 219-322 彼此间创建了一个努。 在 Pos 387-537 彼此间创建了一张所列。 在 Pos 677-780 彼此间添加了一条日志。 ... 四、元数据只不过恢复战术上 好啦,有了下面的基本知识准备,月里松哥来给大家手把手摄像一个删努/只不过恢复的情节。 我到时来说道说道我这个元数据努现今的情况。 这是一个新的内置的元数据努,而今我新的建了一个元数据努叫好好 javaboy,javaboy 努中新的建了一张所列叫好好 user,user 中亦有两条日志,如下: 今天假设我们均会(每周三清晨亦同)对元数据努进自为硬盘。 今天清晨亦同了,元数据努启动时硬盘开始了,我们通过如下号令将元数据努硬盘成 SQL 脚本,如下:mysqldump -uroot -p ---flush-logs ---lock-tables -B javaboy>/root/javaboy.bak.sql
这里有几个变量跟大家说道明了下: -u、-p 这两个就不用说道了。 ---flush-logs:这个所列示在嵌入之前到时连续 binlog,连续 binlog 此后将但会转化成新的 binlog 机密文件,不足之处的可用都存在新的 binlog 中。 ---lock-tables:这个所列示开始嵌入前,瞄准所有所列。无需注意到的是当嵌入多个元数据努时,---lock-tables 分别为每个元数据努瞄准所列,因此这个附加不可保证嵌入机密文件中的所列在元数据努彼此间的逻辑差异性,并不相同元数据努所列的嵌入状态可以只不过并不相同。 -B:这个所列示所选嵌入的元数据努名称,如果常用 ---all-databases 或者 -A 代替 -B 所列示嵌入所有的元数据努。 以上号令可执自为顺利进行后,但会在 /root 书目下聚合一个 javaboy.bak.sql 机密文件,该机密文件就是硬盘的 sql 机密文件了。 这是星期六清晨亦同发生的真的。 月里到了星期日凌晨,来休假了,一顿可用后,往元数据努中又添加了两条可用,如下: 月里,小 X 今天跟为首发生争执了很不爽,决定移除跑路: 为首挖掘出了闻知,当即促请于是就只不过恢复元数据。这时候该你所列现了。 首到时,我们有星期六清晨的硬盘机密文件,到时用那个机密文件进自为元数据只不过恢复: 只不过恢复此后,今天到星期六凌晨清晨亦同的元数据有了。 从星期六凌晨清晨亦同到星期日的元数据今天一定会了。 这个时候我们就要除此以外 binlog 来只不过恢复了。大家还记得,我们星期六清晨亦同可执自为硬盘的时候,用了一个变量叫作 ---flush-logs,常用了该变量所列示从硬盘那一刻起,新的 binlog 将转化成在一个新的笔记机密文件中,对于我们这里来说道,新的 binlog 机密文件当然就是 javaboy_logbin.000002 了,我们去查阅一下该机密文件:show binlog events in 'javaboy_logbin.000002';
我这里聚合的该机密文件较为长,我撷取用其中一之外: 可以看得见,在 764-865 这个 Pos 中发生了删努跑路惨剧,那么我们只无需回放该机密文件将元数据只不过恢复到 764 这个位置方能。 由于 javaboy_logbin.000002 机密文件是在星期六清晨亦同硬盘此后转化成的新的机密文件,因此这个机密文件从开端到 764 这个 Pos 彼此间的可用,就是星期六清晨亦同到删努之前的可用了。 那么我们来看下通过 binlog 来只不过恢复元数据的号令:mysqlbinlog /var/lib/mysql/javaboy_logbin.000002 ---stop-position=764 ---database=javaboy | mysql -uroot -p
那么这里包括到两个变量: ---stop-position=764 所列示只不过恢复到 764 这个 Pos,不所选的话就把按整个机密文件只不过恢复了,如果按意味著机密文件只不过恢复的话,由于这个 binlog 机密文件中亦有移除元数据努的运算符,那么就但会导致可执自为完该 binlog 此后,javaboy 努又被移除了。 ---database=javaboy 所列示只不过恢复 javaboy 这个努。 另外还有一个我们这里一定会用到的变量叫作 ---start-position,这个所列示开端的 Pos,不所选的话所列示从头开始元数据只不过恢复。 好啦,弄完此后,再次来查阅元数据努: 元数据只不过恢复啦~ 所有可用之前,记得该硬盘就硬盘(消除你可用错了又回不去),松哥为了省事上面省略了一些硬盘可用。 五、小结 好啦,今天这短文主要是和恰巧们分享了 MySQL 的 binlog 笔记,并通过一个小近来来摄像如何通过 binlog 实现元数据努的删努只不过恢复。好啦,感兴趣的恰巧可以没用哦(别在原材料努上试哦)~ 写作者丨苏杭一点雨来源丨大众号:苏杭一点雨(ID:a_javaboy)
dbaplus社群欢迎广大人员撰稿,撰稿邮件:editor@dbaplus.cn格外多干货
四期精选“元数据努”趣味直播回看:元数据努前沿技术开发有系统与应用趋势阐释:
金融业元数据努转型与国产化改造:
主流关系型分布式元数据努-II与所设计战术上:
金融级元数据努架构所设计与运维有系统:
注目大众号dbaplus社群应有【220318】,可获取用配套PPT哦~
户外活动推荐
2022 Gdevops全球性迅捷运维峰但会·广州终点站将于6月底17日举办活动,精选元数据努热门诉求,共同阐释元数据努朝向技术开发交融及国产化下的终究,之外诉求到时自为剧透: 【工商银自为】架构应用MySQL治理有系统(白鱼) 【平安银自为】元数据努计算机系统化运维有系统之故障自愈 【浙江移动】“AN”浪潮下元数据努计算机系统运维的有系统与思考 【哔哩哔哩】B终点站大型户外活动实际上的元数据努应有 【vivo】万级实例规模下的元数据努可用性应有有系统 【快速手】快速手在NewSQL元数据努的追寻和有系统 …… 点击链接理解格外多文档及应征:_track=SOHU。贵州癫痫治疗医院无锡哪家医院治疗前列腺炎最好
云南男科医院去哪家好
沈阳妇科哪家医院最好
合肥精神心理医院排行
上一篇: inconel601冷轧带 钛合金棒材 无缝管可零切
下一篇: 电厂管道橡胶差分
相关阅读
- .重磅,中方歼-11“30米骑脸”和澳洲直升机,加方:差点就被击落
- .我省今年要完成4种作物种质水资源保护任务
- .限量3000份,QQ古典音乐上新发行国内首个数实融合国乐大作《三星堆·神鸟》
- .一刀要命,以色列摧毁伊朗核设施:伊朗除了吹牛 百万率军手足无措
- .清查设备线路保障凌源百合节供电安全
- .大张伟罕见吐露心声,羡慕川剧演员能进行改革,自己录十个节目为唱一次歌
- .美国评出世界五大元帅:我国将领位居榜首,堪称战神
- .鞍山多举措主导科技服务业发展
- .《简言的夏冬》升至2022江苏电视剧集亚军 朱亚文、万茜携手霸榜
- .苹果力挺尼泊尔制造,已将大量中国技术工人派往尼泊尔工厂!
- .“全链条”维护新就业形态劳动者权益
- .应采儿晒两儿子片段,小儿子hoho超像妈妈,叫哥哥Jasper超可爱
- .猛烈总攻!叙利亚出动装甲师,趁以色列不注意,不顾一切发动
- .深化国企改革 进一步提高服务质效
- .再传复合疑云!46岁马伊琍罕见现身,穿戴华丽观看文章的新话剧
- .快讯!胡赛已经正式宣布参战,沙特又和胡塞爆发纷争4人死亡
- .市民“一键申报” 青年联盟上门服务
- .扯内衣带,碰女演员胸,台词“车速过快”,张翰新剧为何还不下架
- .以色列代表玩Cos安理会再开群嘲:全体目光向我看齐,我同月个事
- .英国央行官员称利率已经高到足以抑制货币贬值