
# Binlog日志常见问题
本章节介绍TaurusDB的Binlog日志常见问题。
#### TaurusDB服务如何查看Binlog日志？
1. 参考[连接实例](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_4004.html)，连接数据库实例。
2. 执行命令，读取Binlog日志。 
   ```
   SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];
   ```
   如果提示账号权限不足，请执行**GRANT**命令为子账号授予REPLICATION SLAVE权限。
   ```
   GRANT SELECT, REPLICATION SLAVE ON *.* TO 'xx'@'%';
   FLUSH PRIVILEGES;
   ```
   
   
 
#### 拉取Binlog对实例性能有什么影响？
单个拉取任务的影响较小，但几十到上百个任务同时进行时，资源消耗会显著增加。建议在业务低峰期执行此类操作。
#### 拉取Binlog失败，如何处理？
1. 首先检查是否已开启本地Binlog，详情请参见[开启本地Binlog日志](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0004.html)。
   1. 若为关闭状态，则无法进行拉取。
   
   2. 若上述参数已开启，请进一步确认拉取方式。如果您无法确认拉取方式，请您[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)联系客服确认。
      1. 如果是直接连接TaurusDB实例进行拉取，执行[2]。
      
      2. 如果是通过代理（proxy）进行拉取，执行[3]。
       
    
2. 直连TaurusDB拉取：请确认所连接节点的类型，即连接的是TaurusDB主节点还是只读节点。
   1. 若为直连只读节点进行拉取，要求TaurusDB实例内核版本为2.0.54.240600及以上，且需要[开启只读节点Binlog拉取](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0034.html)，否则不支持拉取（报错关键字：Unknown command，Error code: 1047）。
   
   2. 若为直连主节点进行拉取，但是拉取失败，请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)，联系华为云客服处理**。**
    
3. 通过代理（proxy）拉取：代理内核版本需要2.24.12.000及以上，且代理拉取binlog的开关已开启，该开关默认关闭，关闭状态下不支持拉取Binlog，产生报错信息（报错关键字：Unknown command，Error code: 1047）。如需开启请参见[开启代理Binlog拉取](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0502.html)。
   如果您的代理内核版本满足且代理拉取binlog开关已开启，仍无法拉取，请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)，联系华为云客服处理**。**
   
建议您优先采用直连TaurusDB的方式拉取binlog。相较于通过代理拉取，直连方式的链路更短、涉及模块更少，可有效降低出现问题的概率。
#### 在执行写操作时，为什么show master status显示的position值保持不变？
position表示主库Binlog文件中当前写入的字节位置，仅当内核版本大于等于2.0.45.230900时，show master status命令的返回结果会显示position值。
建议检查Binlog开关状态，Binlog开关由参数rds_global_sql_log_bin控制，默认关闭。若未开启，则position将不会发生变化。如果开关已开启，但position仍然不变，请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)。
如需修改参数值，请参考[修改TaurusDB实例参数](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_configuration.html)。
#### 为什么有的Binlog文件大小会超过max_binlog_size？
max_binlog_size：当单个Binlog文件大小达到该参数值时，数据库关闭当前Binlog文件，生成一个新的Binlog文件，将新产生的数据写入新Binlog文件。
当写入Binlog时，如果遇到大事务（如大规模的INSERT、UPDATE或DELETE操作），必须将该事务完整地写入同一个Binlog文件中，会导致文件大小超过max_binlog_size的限制。
