首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    怎么避免从删库到跑路 -- 详解 mysql binlog 的配置与使用

    使用数据库的时候,我们每个操作都十分小心,尤其是不能直接在数据库上执行 update、delete 等操作,否则万一忘记加全 where 条件,可能就会造成无法挽回的结果。 有一句十分流行的调侃 — “从删库到跑路”就很形象的说明了误操作后的结果,那么如果你真的不小心执行了删库操作,真的就无法挽回了吗? 当然不会了,通常对于线上数据库,我们都会定时冷备,dump 导出数据库的全量备份,并且保留一段时间内的所有修改日志,进而实现在必要时回滚到这段时间内的任何一秒。 这里提到的“日志”指的就是 binlog,那么究竟什么是 binlog 呢?本文我们就来详细介绍一下。

    02

    mysql-MGR集群搭建

    MGR是MySQL数据库未来发展的一个重要方向。 MGR基础结构要求: 引擎必须为innodb,因为需事务支持在commit时对各节点进行冲突检查 每个表必须有主键,在进行事务冲突检测时需要利用主键值对比 必须开启binlog且为row格式 开启GTID,且主从状态信息存于表中(--master-info-repository=TABLE 、--relay-log-info-repository=TABLE),--log-slave-updates打开 一致性检测设置--transaction-write-set-extraction=XXHASH64 MGR使用限制: RP和普通复制binlog校验不能共存,需设置--binlog-checksum=none 不支持gap lock(间隙锁),隔离级别需设置为read_committed 不支持对表进行锁操作(lock /unlock table),不会发送到其他节点执行 ,影响需要对表进行加锁操作的情况,列入mysqldump全表备份恢复操作 不支持serializable(序列化)隔离级别 DDL语句不支持原子性,不能检测冲突,执行后需自行校验是否一致 不支持外键:多主不支持,单主模式不存在此问题 最多支持9个节点:超过9台server无法加入组

    03
    领券