# TaurusDB服务如何开启并查看Binlog文件？
本章节介绍开启Binlog、查看Binlog的方法，以及开启Binlog后对TaurusDB的性能影响。
TaurusDB内核2.0.54.240600及以上版本支持只读节点开启Binlog。内核版本的查询方法请参见[如何查看云数据库 TaurusDB实例的版本号](https://support.huaweicloud.com/taurusdb_faq/taurusdb_faq_0141.html)。
#### 开启Binlog
1. [登录TaurusDB管理控制台](https://console.huaweicloud.com/gaussdbformysql/#/management/list)。
2. 选中要开启Binlog的实例，单击实例名称，进入实例详情界面。
3. 在实例详情界面，单击参数修改，跳转到参数界面。
4. 按照如下条件设置日志参数。 
   - 当内核版本小于2.0.45.230900时，搜索"log-bin"参数，在值列下拉框中选择"ON"，单击保存。该参数修改完成后，需要重启实例才可生效。重启实例的影响及注意事项请参见[重启实例](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0040.html)。
     内核版本可以在实例概览页面，"配置信息 \> 内核版本"处进行查看。
     图1查看内核版本   
     ![](https://support.huaweicloud.com/taurusdb_faq/figure/zh-cn_image_0000002302654193.png "点击放大")
     
     
   
   - 当内核版本大于或等于2.0.45.230900时，搜索"rds_global_sql_log_bin"参数，在值列下拉框中选择"ON"，单击保存。该参数修改后，立即生效，不需要重启实例。 通过该方式开启Binlog后，需要连接数据库执行如下命令，确认是否所有线程均已成功开启Binlog。
     ```
     select @@session.rds_sql_log_bin_inconsistent_count;
     ```
     表1参数说明 
     | 参数                                  | 说明                                                       |
     |:---|:---|
     | rds_sql_log_bin_inconsistent_count | 表示所有用户连接上sql_log_bin的设置和rds_global_sql_log_bin的设置不一致的个数。 |
        
     - 查询结果为0时，代表所有线程均已成功开启Binlog，所有需要记录Binlog的语句都会被记录到Binlog中，此时才能做全量备份。
     
     - 查询结果不为0时
       - 如果您使用的是DAS，请直接在SQL执行记录的"消息"页签下查看warning。
       
       - 如果您使用的是MySQL客户端连接，继续执行如下命令，查看尚未成功开启Binlog的线程ID，查询到的线程ID中执行的语句可能暂时未能被记录到Binlog中。
         ```
         show warnings;
         ```
         图2查询未成功开启Binlog的线程ID   
         ![](https://support.huaweicloud.com/taurusdb_faq/figure/zh-cn_image_0000001928570997.png "点击放大")
         您可以根据获取到的线程ID排查自身业务，例如[图2]中"53"，根据业务需要及时提交或回滚事务并执行新事务（例如：SELECT 1;），或者对于空闲连接进行断开重连操作。
         
        
      
   
   
   
   
 
#### 查看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对TaurusDB的性能影响
性能损耗和业务压力强相关，开启Binlog不会影响查询（SELECT）性能，只会影响写入更新（如INSERT、UPDATE、DELETE等）性能。
TaurusDB服务的Binlog和开源的MySQL-Binlog两者从使用方法上来说无明显差异，TaurusDB服务的Binlog完全兼容开源MySQL的Binlog相关语法。
