【笔记】开发指南—Replication

简介: 特性 兼容MySQL Binlog文件格式和Dump协议。PolarDB-X的全局Binlog是在DN节点的物理Binlog基础之上生成的,剔除了分布式事务的细节,只保留了单机事务的特性。同时,全局Binlog兼容MySQL Binlog文件格式,在数据订阅方式上也完全兼容MySQL Dump协议,您可以像使用单机MySQL一样来订阅PolarDB-X的事务日志。

特性

  • 兼容MySQL Binlog文件格式和Dump协议。PolarDB-X的全局Binlog是在DN节点的物理Binlog基础之上生成的,剔除了分布式事务的细节,只保留了单机事务的特性。同时,全局Binlog兼容MySQL Binlog文件格式,在数据订阅方式上也完全兼容MySQL Dump协议,您可以像使用单机MySQL一样来订阅PolarDB-X的事务日志。
  • 保证分布式事务的完整性和有序性。全局Binlog不是将物理Binlog简单地汇总到一起,而是通过合并模块和归并模块保证了分布式事务的完整性和有序性,从而实现高数据一致性。例如,在转账场景下,基于全局Binlog能力,接入PolarDB-X的下游MySQL,可以在任何时刻查询到一致的余额。
  • 提供7x24小时服务能力,运维简单。全局Binlog剔除了PolarDB-X的内部细节(此时您可以将PolarDB-X看作一个单机MySQL), 来避免实例内部发生的变化对数据订阅链路的影响。PolarDB-X通过一系列的协议和算法来保证全局Binlog的服务能力,确保实例内部发生的各种变更(如HA切换、增删节点、执行Scale Out或分布式DDL等操作)不会影响数据订阅链路的正常工作。

使用限制

  • 暂不支持Gtid(Global Transaction Identifier)模式下的数据订阅方式。
  • 仅当事务策略指定为TSO时(即更高强度的一致性保证),才支持对分布式事务的合并。

数据订阅源端支持的SQL语句

  • 查看PolarDB-X全局Binlog文件列表。
SHOW BINARY LOGS

  • 说明 执行上述SQL语句需要有SUPER或REPLICATION CLIENT权限。权限操作请参见账号和权限系统

查看PolarDB-X作为主Master角色的Binlog信息。
SHOW MASTER STATUS

  • 说明 执行上述SQL语句需要有SUPER或REPLICATION CLIENT权限。权限操作请参见账号和权限系统
  • 查看全局Binlog文件中的具体事件信息。
SHOW BINLOG EVENTS
[IN 'log_name']
[FROM pos]
[LIMIT [offset,] row_count]

  • 说明 执行上述SQL语句需要有SUPER或REPLICATION CLIENT权限。权限操作请参见账号和权限系统

数据订阅目标端支持的SQL语句

如果数据订阅目标端是标准MySQL,目前支持MySQL的Replicate指令。

  • 在数据订阅目标端设置需要同步的源端数据源信息。
CHANGE MASTER TO option [, option] ... [ channel_option ]
option: {
MASTER_BIND = 'interface_name'
| MASTER_HOST = 'host_name'
| MASTER_USER = 'user_name'
| MASTER_PASSWORD = 'password'
| MASTER_PORT = port_num
| PRIVILEGE_CHECKS_USER = {'account' | NULL}
| REQUIRE_ROW_FORMAT = {0|1}
| REQUIRE_TABLE_PRIMARY_KEY_CHECK = {STREAM | ON | OFF}
| ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = {OFF | LOCAL | uuid}
| MASTER_LOG_FILE = 'source_log_name'
| MASTER_LOG_POS = source_log_pos
| MASTER_AUTO_POSITION = {0|1}
| RELAY_LOG_FILE = 'relay_log_name'
| RELAY_LOG_POS = relay_log_pos
| MASTER_HEARTBEAT_PERIOD = interval
| MASTER_CONNECT_RETRY = interval
| MASTER_RETRY_COUNT = count
| SOURCE_CONNECTION_AUTO_FAILOVER = {0|1}
| MASTER_DELAY = interval
| MASTER_COMPRESSION_ALGORITHMS = 'value'
| MASTER_ZSTD_COMPRESSION_LEVEL = level
| MASTER_SSL = {0|1}
| MASTER_SSL_CA = 'ca_file_name'
| MASTER_SSL_CAPATH = 'ca_directory_name'
| MASTER_SSL_CERT = 'cert_file_name'
| MASTER_SSL_CRL = 'crl_file_name'
| MASTER_SSL_CRLPATH = 'crl_directory_name'
| MASTER_SSL_KEY = 'key_file_name'
| MASTER_SSL_CIPHER = 'cipher_list'
| MASTER_SSL_VERIFY_SERVER_CERT = {0|1}
| MASTER_TLS_VERSION = 'protocol_list'
| MASTER_TLS_CIPHERSUITES = 'ciphersuite_list'
| MASTER_PUBLIC_KEY_PATH = 'key_file_name'
| GET_MASTER_PUBLIC_KEY = {0|1}
| NETWORK_NAMESPACE = 'namespace'
| IGNORE_SERVER_IDS = (server_id_list)
}
channel_option:
FOR CHANNEL channel
server_id_list:
[server_id [, server_id] ... ]
  • 开启主备同步
START {SLAVE | REPLICA}
  • 停止主备同步
STOP {SLAVE | REPLICA}
  • 重置主备同步,需要先停止主备同步
RESET {SLAVE | REPLICA} [ALL] [channel_option]
channel_option:
FOR CHANNEL channel

  • 说明 如果目标端是PolarDB-X,目前暂时不支持相关Replicate指令。
相关文章
|
数据库管理
【SQLite】解决unrecognized token:“‘“
【SQLite】解决unrecognized token:“‘“
1587 0
|
SQL 存储 消息中间件
汽车之家:基于 Flink + Iceberg 的湖仓一体架构实践
由汽车之家实时计算平台负责人邸星星在 4 月 17 日上海站 Meetup 分享的,基于 Flink + Iceberg 的湖仓一体架构实践。
汽车之家:基于 Flink + Iceberg 的湖仓一体架构实践
28个残疾人,两个月,被阿里客服改变的命运
十年里,阿里巴巴云客服累计免费培训了35万人,为11万人提供了就业岗位,这28个残疾人也正是这11万人中的一份子。
28个残疾人,两个月,被阿里客服改变的命运
|
存储 JavaScript 搜索推荐
Node框架的安装和配置方法
安装 Node 框架是进行 Node 开发的第一步,通过正确的安装和配置,可以为后续的开发工作提供良好的基础。在安装过程中,需要仔细阅读相关文档和提示,遇到问题及时解决,以确保安装顺利完成。
714 58
|
机器人 计算机视觉 Python
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
296 5
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的口腔牙科诊所预约管理系统
基于Java+Springboot+Vue开发的口腔牙科诊所预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的口腔预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
561 2
基于Java+Springboot+Vue开发的口腔牙科诊所预约管理系统
|
存储 数据可视化 数据挖掘
R语言在生物信息学中的应用
【10月更文挑战第21天】生物信息学是生物学、计算机科学和信息技术相结合的交叉学科,主要研究生物大分子信息的存储、处理、分析和解释。R语言作为一种强大的统计分析工具,被广泛应用于生物信息学领域。本文将介绍R语言在生物信息学中的应用,包括基因组学、转录组学、蛋白质组学、代谢组学等方面,帮助读者了解R语言在生物信息学中的重要性和应用前景。
682 4
|
存储 数据安全/隐私保护 iOS开发
|
关系型数据库 Shell 数据库
mac安装mysql数据库及配置环境变量
安装mysql 下载mysql。我下载的是:mysql-8.0.11-macos10.13-x86_64.dmg双击打开mysql-8.0.11-macos10.13-x86_64.dmg,然后双击mysql-8.0.11-macos10.13-x86_64.pkg 一路点击继续,傻瓜式安装,没什么好说的 此处选择“Use Legacy Password Encryption”,否则使用navicat连接mysql的时候,会报无法加载身份验证的错误。
3985 0
IntelliJ 中离线包方式安装 Cloud Toolkit
因 JetBrains 插件市场官方服务器在海外,如遇访问缓慢无法下载安装的,请加入文末交流群,向 Cloud Toolkit 产品运营获取离线包安装。 确保 IntelliJ 在 2018.1 或更高版本 第 1 步:打开 Intellij 的 Settings ( Windows下 ) 或 P...
9015 97