网站建设基本要素,品牌型网站建设方案,泰安市最大的网络公司,wordpress+打卡插件目录
二进制日志 12-37
二进制日志格式
基于行的二进制日志
基于语句的二进制日志
混合格式二进制日志
复制日志 12-42
故障安全 (Crash-Safe) 复制
多源复制 二进制日志 12-37 二进制日志#xff1a; • 包含数据和模式更改及其时间戳 – 基于语句 或 基于行 的日志…目录
二进制日志 12-37
二进制日志格式
基于行的二进制日志
基于语句的二进制日志
混合格式二进制日志
复制日志 12-42
故障安全 (Crash-Safe) 复制
多源复制 二进制日志 12-37 二进制日志 • 包含数据和模式更改及其时间戳 – 基于语句 或 基于行 的日志记录 • 用于从备份的时间点恢复、从备份的完全恢复和复制 • 在下列情况下轮转 – MySQL 重新启动 – 其达到 max_binlog_size 设置的最大大小 – 发出 FLUSH LOGS 语句 • 可以通过各种方式进行检查 – 元数据SHOW BINARY LOGS, SHOW MASTER STATUS – 内容mysqlbinlog 二进制日志格式 • MySQL以三种不同格式之一在二进制日志中记录信息 – 基于行的日志记录默认方法 – 基于语句的日志记录 – 混合记录 • 通过启动全局或会话 binlog_format 服务器变量来更改二进制日志格式 SET [GLOBAL|SESSION] BINLOG_FORMAT[row|statement|mixed|default]; • 不能在运行时设置 binlog_format 变量 – 从存储函数或触发器中 – 如果NDB存储引擎已启用 – 如果会话当前正在使用基于行的复制则临时表会 基于行的二进制日志 • 基于行的二进制日志 – 是默认的二进制日志格式 – 记录对单个表行的更改 更新多行时会生成更大的日志 日志中记录的值与发送到存储引擎的值完全相同 每个表都需要一个主键来正确标识每一行 从属服务器上需要的 DML 锁更少 – 能始终正确重放语句即使语句是不确定的 例如CURRENT_USER() 或 CONNECTION_ID() • 主服务器和从属服务器必须使用相同的表结构 基于语句的二进制日志 • 包含实际的 SQL 语句 – 可用于审计 – 更容易识别用于时间点恢复的语句 • 包括 DDL (CREATE, DROP, 等) 和 DML (UPDATE, DELETE, 等) 语句 • 由于所需的文件大小相对较小因此节省了磁盘空间和网络带宽 – 当一条 SQL 语句修改多行时 • 不能保证非确定性语句在远程机器上的正确重放 – 如果 MySQL 不能保证这一点它就会发出警告Statement may not be safe to log in statement format 混合格式二进制日志 • 默认情况下使用基于语句的日志记录 • 当语句不确定时会使用基于行的日志记录 – 调用 UUID(), USER(), FOUND_ROWS(), ROWS_COUNT(), 或任何用户定义的函数 – 当一个或多个具有 AUTO_INCREMENT 列的表被更新并调用触发器或存储函数时 – 当语句引用系统变量时 – 某些涉及视图或临时表的情况 复制日志 12-42 从属服务器维护有关复制事件的信息 • 中继日志集 – 包括中继日志和中继日志索引文件 – 包含来自主服务器的二进制日志事件的副本 • 从属服务器状态日志 – 包含执行复制所需的信息 主服务器连接详细信息和日志坐标 中继日志坐标 – 存储在表默认或文件中 在 mysql 数据库的 slave_master_info 和 slave_relay_log_info 表 默认文件名称master.info 和 relay-log.info 故障安全 (Crash-Safe) 复制 • 二进制日志记录是故障安全的 – MySQL 仅记录完成的事件或事务 – 使用 sync-binlog 提高安全性 默认值是 1最安全的操作系统在每次事务后写入文件 将 sync-binlog 设置为 0当操作系统根据其内部规则写入文件的同时服务器崩溃时 性能最好但事务丢失的可能性最大 将该值设置为大于 1 的任何数字以在该数量的事务之后写入 • 将从属服务器状态日志存储在表中以进行故障安全复制。 – 选项master-info-repository 和 relay-log-info-repository 可能值为 FILE默认值和 TABLE TABLE 是故障安全的 多源复制 • 使复制从属服务器能够同时从多个主服务器接收事务 – 至少需要两个主服务器和一个从属服务器设备 – 从属服务器为每个主服务器创建一个 复制通道 – 从属服务器必须使用 基于表 的资料档案库 多源复制与 基于文件 的资料档案库不兼容 • 不尝试检测或解决冲突 – 如果需要此功能则由应用程序负责 • Enables: – 将多台服务器备份到一台服务器 – 将多台服务器的数据整合到一台服务器 – 合并表的分片