首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

手把手教你玩 MySQL 删库不跑路,直接把 MySQL 的 binlog 玩溜!

1. binlog binlog 我们中文一般称作归档日志,如果大家看过松哥之前发的 MySQL 主从搭建,应该对这个日志有印象,当我们搭建 MySQL 主从的时候就离不开 binlog(传送门:MySQL8...开启 binlog 主要是修改 MySQL 的配置文件 mysqld.cnf,该文件在容器的 /etc/mysql/mysql.conf.d 目录下。...我们可以来查看一下现在的 javaboy_logbin.index 文件: 可以看到,目前只有一个 logbin 文件。 3....查看 binlog 由于 binlog 是二进制日志文件,所以要是直接打开,那肯定是看不了的: 没有看到任何有用的信息。...那么我们来看下通过 binlog 来恢复数据的命令: mysqlbinlog /var/lib/mysql/javaboy_logbin.000002 --stop-position=764 --database

38410

MySQL 主从复制

change master to ,启动start slave,主从复制启动 2.此时sql的io线程会通过(change master 指定的在master服务器授权的用户)请求连接master,并从指定的logbin...文件的指定位置pos点,发送数据 3.master 收到io线程的请求,然后就会启动一个dump线程,分批读取logbin指定位置之后的语句发给你slave,除此之后,还给了下次我要用那个logbin...和pos点 4.当slave io线程拿到logbin文件之后,就放在relaylog中,并且将master给的下次连接的logbin和pos点一起保存, 5.slave sql线程检测到relaylog...I/O线程在master上打开一个普通的连接,然后开始binlog dump process。...='mysql-bin.000003',master_log_pos=931; mysql>start slave; 这里就部署完成!!!

8810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL 主从复制数据不一致,怎么办?

    今天的文章来晚了,主要是我一觉起来变黄码了,关键是我还不知道,早上 8.20 到了公司楼下(最近不在深圳),保安要看健康码,当我自信满满的打开粤省事却傻眼了,折腾一早上,闹了个乌龙,绿码总算回来了,真是生活处处有惊喜...该文件在容器的 /etc/mysql/mysql.conf.d 目录下。...针对该配置文件,我们做如下修改: [mysqld] # 这个参数表示启用 binlog 功能,并指定 binlog 的存储目录 log-bin=javaboy_logbin # 设置 binlog_format...show binlog events IN 'javaboy_logbin.000002' FROM 794; 大家看到,在 BEGIN 和 COMMIT 之间,就是我们的数据修改操作。...终端执行该命令): mysqlbinlog -vv /var/lib/mysql/javaboy_logbin.000002 --start-position=794; -vv 表示显示详细信息,这样就会打印出

    65730

    MySQL 的 binlog 的三种格式这么好玩!

    针对该配置文件,我们做如下修改: # 这个参数表示启用 binlog 功能,并指定 binlog 的存储目录 log-bin=javaboy_logbin # 设置一个 binlog 文件的最大字节...我们可以来查看一下现在的 javaboy_logbin.index 文件: 可以看到,目前只有一个 logbin 文件。...查看所有 binlog 日志 通过如下方式我们可以查看 binlog 日志列表: show master logs; 可以看到,我这里目前只有一个日志文件,文件名为 javaboy_logbin.000001...查看 binlog 由于 binlog 是二进制日志文件,所以要是直接打开,那肯定是看不了的: 没有看到任何有用的信息。...我们来看一个简单的例子: show binlog events in 'javaboy_logbin.000001'; 这下就清晰多了,我们可以看到之前的所有操作,例如: 在 Pos 219-322

    92020

    MySQL是如何打开和关闭表?

    是如何打开和关闭表的; MySQL是多线程的,因此可能有许多客户端同时为给定表发出查询。...如果 table_open_cache设置得太高,MySQL可能会用完文件描述符,并表现出诸如拒绝连接或无法执行查询之类的症状。...还应考虑到MyISAM 存储引擎对于每个唯一的打开表都需要两个文件描述符。要增加可用于MySQL的文件描述符的数量,请设置 open_files_limit系统变量。...MySQL可能会临时打开更多表来执行查询 在以下情况下,MySQL关闭未使用的表并将其从表缓存中删除: 当缓存已满并且线程尝试打开不在缓存中的表时。...要确定表缓存是否太小,请检查 Opened_tables状态变量,该变量指示自服务器启动以来表打开操作的数量: mysql> SHOW GLOBAL STATUS LIKE 'Opened_tables

    3.6K40

    打开我的收藏夹 -- MySQL篇

    文章目录 打开我的收藏夹 -- MySQL收藏夹 MySQL概述 MySQL入门 MySQL进阶 MySQL起飞 锁定语句 自动提交与手动提交 SQL注入 SQL注入怎么产生的 1.数字注入...MySQL常用函数 字符串函数 数值函数 日期和时间函数 流程函数 其他函数 刷题笔记 MySQL面对大数据 分表 分库 缓存中间件 2021 CSDN 程序员学院高质量教程推荐 ---- 打开我的收藏夹...– MySQL收藏夹 今天盯上了我的“MySQL”收藏夹,打开一看,总共有18篇。...---- MySQL概述 MySQL入门 MySQL入门之旅 ---- MySQL进阶 今天初面腾讯,发现MySQL是很重要的。 高性能MySQL系列,虽然停更了,但是等这波忙完之后还是要续更的!...相关教程传送门:MySQL数据库从入门到实战课

    3.1K30

    打开MySQL数据库远程访问权限

    在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。缺省状态下,mysql的用户没有远程访问的权限。下面介绍两种方法,解决这一问题。...这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -...p mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from...user; 2、授权法 在安装mysql的机器上运行: mysql\bin\>mysql -h localhost -u root //这样应该可以进入MySQL服务器 mysql>GRANT ALL...>FLUSH PRIVILEGES mysql>EXIT 退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录

    10.6K40

    MySQL数据库远程访问权限如何打开?

    我们在使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。 缺省状态下,mysql的默认用户没有远程访问的权限。 下面给大家介绍两种方法,解决这一问题。...1.1 方案1:改表法 由于账号默认没有远程访问权限,所以首先登录本地电脑的MySQL,更改mysql数据库里中user表里的host项。 非生产环境中,使用以上方式可以迅速解决问题。...大家可以看到,默认情况下,MySQL的几个默认用户只允许localhost(本地)的连接,从远程连接肯定会被拒绝。...1.1.2 添加新用户并授权 根据需要创建相应的用户及访问权限即可 1.3 关于MySQL用户帐号管理的相关知识点 MySQL用户帐号管理主要用grant(授权)和revoke(撤权)两个SQL指令来管理...他们是要用GRANT来删除的,如: 以上所述是大雄给大家介绍的MySQL数据库远程访问的权限如何打开的方法,希望对大家有所帮助

    13.9K10

    这有一把钥匙,打开MySQL死锁问题!

    今天继续来讲面试,已经出了将近十个美团java一面真题系列文章了,今天来讲一讲mysql死锁发生的原因和解决,相信大多数小伙伴对mysql不陌生甚至经常在使用。...但是可能对mysql锁这方面还不太熟悉,但是经常面试的时候却经常会被问到,我们根据面经来进行补短板,查漏补缺。...3,如果死锁会发生,该如何避免,mysql的事务自动会处理(有人说会自动处理),那我能不能代码的设计上,避免这种死锁的情况? 1....如果出现死锁会报ERROR,可在日志里查询到,已经出现死锁的情况,mysql会自动检测到了两个会话互相等待锁的情况,然后把最后一个会话去做回滚操作。 2....Mysql的隔离级别(解决办法) 事务具有隔离性理论上来说事务之间的执行不应该相互产生影响,其对数据库的影响应该和它们串行执行时一样。

    93030

    用普通MySQL高可用的方式打开Raft

    MySQL的主从复制 MySQL在半同步出现前,主从复制模式都是异步复制。 1. Binlog的产生是顺序的。 2. RelayLog是顺序写。 3....好在MySQL发展出了半同步。...这种情况MySQL半同步和Raft一样,二者都必须等前一条日志复制成功,才能复制下一条日志。 所以,在MySQL不退化成异步复制的情况下,二者可用性相同。...选主 Raft具备自动选主的能力,MySQL不具备。MySQL需要外部的高可用模块来选择新主。 相同点在于,二者都会选择日志最多的节点作为新主。这在只有2个节点时是没得选的。...参考资料 总结 Raft像是一个具备自选主能力的MySQL半同步机制加强版。在机制上要比MySQL更复杂,除了自选主外,也有更多的限制条件。

    1.3K20

    MySQL数据库外键约束打开与关闭 ️

    MySQL数据库外键约束打开与关闭 ️ 摘要 作为一名技术博主,我们时常需要处理数据库的外键约束。...本文将详细介绍如何使用 SQL 命令临时关闭 MySQL 数据库的外键约束检查,并提供了重新开启外键约束检查的方法。我们将探讨关闭外键约束检查的风险,并提供最佳实践建议,以确保数据的完整性和一致性。...小结 ✏️ 通过本文的学习,我们深入了解了如何使用 SQL 命令临时关闭 MySQL 数据库的外键约束检查,并了解了其中的风险和最佳实践建议。...参考资料 MySQL 官方文档: MySQL Documentation MySQL 教程: MySQL Tutorial MySQL 外键约束详解: Understanding Foreign Key...Constraint in MySQL MySQL 优化建议: 10 MySQL Performance Tuning Tips

    16510

    【详解】解决远程连接mysql很慢的方法(mysql_connect打开连接慢)

    解决远程连接MySQL很慢的方法(​​mysql_connect​​打开连接慢)在开发和运维过程中,有时会遇到从远程服务器连接MySQL数据库时速度非常慢的问题。...本文将探讨几种常见的解决方案,帮助优化远程连接MySQL的速度。问题描述当使用PHP的​​mysql_connect​​函数尝试从远程服务器连接到MySQL数据库时,可能会发现连接过程异常缓慢。...MySQL配置不当原因分析:MySQL服务器的配置参数不合理,可能导致性能下降。...客户端配置问题原因分析:PHP的​​mysql_connect​​函数默认使用TCP/IP协议连接MySQL服务器,如果网络条件不佳,可能会导致连接缓慢。...调整MySQL配置1.1 增加 ​​max_connections​​增加MySQL的最大连接数可以减少连接被拒绝的情况,从而间接提高连接速度。

    10300
    领券