SQL審計功能可以即時記錄資料庫DML和DDL操作資訊,並提供資料庫操作資訊的檢索功能。
使用限制
SQL審計日誌不記錄以下操作:
-
INSERT INTO VALUES -
REPLACE INTO VALUES -
UPSERT INTO VALUES
開啟/關閉SQL審計
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,然後單擊目的地組群ID。
-
進入SQL審計頁面。
-
企業版、基礎版及湖倉版 叢集,在左側導覽列,單擊。
-
數倉版叢集,在左側導覽列,單擊資料安全,然後單擊SQL審計。
-
-
單擊右側SQL審計配置。
-
在彈出的對話方塊中,選擇是並單擊確定。
-
如不再使用SQL審計功能,可以重複步驟1~4,開啟SQL審計配置彈窗,選擇否。
重要SQL審計功能關閉後,SQL審計日誌會被清空。請先查詢和匯出SQL審計日誌,再關閉SQL審計功能。當再次開啟審計日誌,審計日誌將從最近一次開啟審計日誌的時間開始展示。
查詢和匯出SQL審計日誌
在SQL審計頁面,使用者可以根據SQL的操作類型或執行狀態等條件查詢特定時間段內的SQL審計內容。
-
僅支援查詢最近30天內的SQL審計內容。超過30天,查詢為空白。
-
單次查詢時間範圍不能超過24小時。若需要儲存當前頁面內容至本地,單擊匯出當前頁即可。
常見問題
為什麼INSERT OVERWRITE語句會記錄兩條審計日誌?
INSERT OVERWRITE語句是在AnalyticDB for MySQL內部非同步執行的。接入層節點負責將查詢任務分配到不同的儲存節點,並將最終結果給用戶端。因此審計日誌不僅記錄發起請求的用戶端IP,還會記錄AnalyticDB for MySQL接入層節點的IP。
為什麼SQL審計日誌中查不到DROP語句?
當叢集開啟了表資源回收筒功能時,DROP語句不會寫入SQL審計日誌。您可以通過以下命令查詢當前叢集表資源回收筒的開啟狀態:
SHOW ADB_CONFIG KEY=DROP_FORCE;
-
傳回值為
false:表資源回收筒功能已開啟,叢集會將DROP語句改寫後轉入資源回收筒,因此審計日誌中查不到該DROP語句。 -
傳回值為
true:表資源回收筒功能未開啟,DROP語句會正常記錄到SQL審計日誌中。
通過DTS同步資料後,為什麼審計日誌中看不到UPDATE語句?
DTS在同步RDS資料時,會將源端的UPDATE語句改寫為REPLACE INTO VALUES或DELETE+INSERT組合後寫入目標端。由於REPLACE INTO VALUES語句不在SQL審計日誌的記錄範圍內(詳情請參見本文使用限制),因此審計日誌中無法直接看到UPDATE語句。
相關API
|
產品系列 |
API |
|
企業版、基礎版及湖倉版 |
|
|
數倉版 |
|