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/bklocksUDAL 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)