DT
更新时间 2025-07-10 16:56:32
最近更新时间: 2025-07-10 16:56:32
本文为您介绍DRDS管理命令中的DT命令。
UDAL DT START [ 'transaction_id' ]
语法说明
启动分布式事务
示例
mysql> UDAL DT START 88;
+-----------------------------------+
| Transaction_id |
+-----------------------------------+
| drds476262993-1746501851957-start |
+-----------------------------------+
1 row in set (0.00 sec)
UDAL DT SHOW VARIABLES [ LIKE 'variable_pattern' ]
语法说明
查看分布式事务变量,回显参数说明如下:
参数 描述 Variable_name 参数名称 Value 参数值 Writable 是否可修改
示例
mysql> UDAL DT SHOW VARIABLES;
+-----------------------------+-------+----------+
| Variable_name | Value | Writable |
+-----------------------------+-------+----------+
| compensation_lock | false | Yes |
| slave_master_commit | false | Yes |
| prohibit_cross_transaction | true | No |
| dt_hold_request_when_lock | false | No |
| dt_hold_timeout | 60000 | No |
| dt_backup_zk_lock | true | No |
| is_multi_node_serialization | true | No |
| is_auto_start_dt | true | No |
| is_ignore_restart_dt | true | No |
| max_transaction_tab_length | 30 | No |
+-----------------------------+-------+----------+
10 rows in set (0.00 sec)
UDAL DT SET 'variable_name' = 'variable_value'
语法说明
设置分布式事务变量,回显说明如下:
注意
udal dt show variables
存在writable
选项,默认为no
且都不支持修改。开启udal dt start
后,支持修改compensation_lock
、slave_master_commit
。参数 描述 compensation_lock 是否开启事务锁 slave_master_commit 是否关键节点最后提交
示例
mysql> udal dt show variables;
+-----------------------------+-------+----------+
| Variable_name | Value | Writable |
+-----------------------------+-------+----------+
| compensation_lock | false | No |
| slave_master_commit | false | No |
| prohibit_cross_transaction | false | No |
| dt_hold_request_when_lock | false | No |
| dt_hold_timeout | 60000 | No |
| dt_backup_zk_lock | true | No |
| is_multi_node_serialization | true | No |
| is_auto_start_dt | true | No |
| is_ignore_restart_dt | true | No |
| max_transaction_tab_length | 30 | No |
+-----------------------------+-------+----------+
10 rows in set (0.00 sec)
mysql> udal dt start;
+------------------------------------+
| Transaction_id |
+------------------------------------+
| drds476262993-1746689373877-100003 |
+------------------------------------+
1 row in set (0.00 sec)
mysql> udal dt show variables;
+-----------------------------+-------+----------+
| Variable_name | Value | Writable |
+-----------------------------+-------+----------+
| compensation_lock | false | Yes |
| slave_master_commit | false | Yes |
| prohibit_cross_transaction | false | No |
| dt_hold_request_when_lock | false | No |
| dt_hold_timeout | 60000 | No |
| dt_backup_zk_lock | true | No |
| is_multi_node_serialization | true | No |
| is_auto_start_dt | true | No |
| is_ignore_restart_dt | true | No |
| max_transaction_tab_length | 30 | No |
+-----------------------------+-------+----------+
10 rows in set (0.00 sec)
mysql> UDAL DT SET compensation_lock='true';
Query OK, 1 row affected (0.00 sec)
UDAL DT DELETE LOCK WHERE TRANSACTION_ID [ LIKE | = ] 'transaction_id'
语法说明
删除分布式事务锁,命令参数说明如下:
参数 描述 transaction_id 事务标识
示例
mysql> UDAL DT DELETE LOCK WHERE TRANSACTION_ID =1;
Query OK, 0 rows affected (0.01 sec)
UDAL DT DELETE BKLOCK WHERE TRANSACTION_ID [ LIKE | = ] 'transaction_id'
语法说明
删除分布式事务锁历史记录,命令参数说明如下:
注意
请先执行
UDAL DT SHOW BKLOCK;
命令,然后按照输出结果删除,否则锁不存在会执行报错。参数 描述 transaction_id 事务标识
示例
mysql> UDAL DT SHOW BKLOCK;
Empty set (0.01 sec)
mysql> UDAL DT DELETE BKLOCK WHERE TRANSACTION_ID =1;
ERROR 3023 (HY000): UDAL - Command execution error: KeeperErrorCode = NoNode for /udal/tenant_6749/dbproxy_cluster/dbproxy_cluster_0000013714/bklocks
UDAL DT DELETE COMPENSATION WHERE TRANSACTION_ID [ LIKE | = ] 'transaction_id'
语法说明
删除分布式事务补偿,命令参数说明如下:
参数 描述 transaction_id 事务标识
示例
mysql> UDAL DT DELETE COMPENSATION WHERE TRANSACTION_ID =1;
Query OK, 0 rows affected (0.00 sec)
UDAL DT SHOW LOCK [ WHERE TRANSACTION_ID [ LIKE | = ] 'transaction_id' ]
语法说明
查看分布式事务锁,命令参数说明如下:
参数 描述 Transaction_node 事务标识+分片节点名称 Table_list 数据库名+被锁的表名
示例
mysql> UDAL DT SHOW LOCK;
Empty set (0.00 sec)
UDAL DT SHOW BKLOCK [ WHERE TRANSACTION_ID [ LIKE | = ] 'transaction_id' ]
语法说明
查看分布式事务锁历史记录,命令参数说明如下:
参数 描述 Delete_type 删除类型 Transaction_node 事务标识+分片节点名称 Table_list 数据库名+被锁的表名
示例
mysql> UDAL DT SHOW BKLOCK;
Empty set (0.00 sec)
UDAL DT SHOW COMPENSATION [ DETAIL | { WHERE TRANSACTION_ID [ LIKE | = ] 'transaction_id' } ]
语法说明
查看分布式事务补偿信息,回显信息说明如下:
参数 描述 Transaction_id 事务标识 Node 分片节点名称 Status 状态 Sql SQL语句
示例
mysql> UDAL DT SHOW COMPENSATION;
Empty set (0.00 sec)