在安全合規審計、效能分析及故障排查等情境中,建議您開啟SQL洞察和審計功能。開啟後,系統將自動記錄資料庫核心中執行的SQL變動及其相關資訊(如執行帳號、IP地址、執行詳情等),開啟及使用該功能對執行個體效能幾乎無影響,為您後續查詢歷史SQL變更記錄及開展分析與審計提供可靠的資料支援。
前提條件
您的帳號已購買DAS企業版。
開啟DAS企業版後,才可以使用該企業版提供的SQL洞察和審計功能。通過控制台,您只能開通當前地區支援的最高的DAS企業版。不同的DAS企業版支援的地區不同。
如果是RAM使用者,使用審計功能時,需要為RAM使用者授予AliyunRDSReadOnlyWithSQLLogArchiveAccess許可權。如何為RAM使用者授權,請參見通過RAM對RDS進行許可權管理。
您也可以通過自訂權限原則授予RAM使用者使用審計(包含匯出)功能的許可權,詳情請參見通過自訂權限原則授權RAM使用者使用SQL洞察和審計的搜尋(包含匯出)功能。
開啟SQL洞察和審計功能可以記錄所有DQL、DML和DDL操作資訊,這些資訊是通過資料庫核心輸出,對系統CPU消耗極低。
功能概覽
SQL洞察和審計提供審計、SQL洞察、安全審計、流量回放和壓測、SQL分析等功能:
審計:查詢並匯出SQL語句執行歷史及其對應的各種資訊,如資料庫、狀態、執行時間等。
SQL洞察:對指定時間SQL進行健康情況診斷、效能問題排查、業務流量分析等。
安全審計(舊版):可自動識別高危SQL、SQL注入、新增訪問來源等風險。
流量回放和壓測:提供流量回放和壓測功能,協助您驗證您的執行個體規格是否需要擴容,有效應對業務流量高峰。
SQL分析:對指定時間段的SQL進行分析,找出異常SQL,定位效能問題。
SQL洞察和審計常用於以下情境:
對資料安全要求嚴格的行業,如金融、安全、證券、政務、保險等。
需要詳細排查資料庫運行情況的情境,如問題排查、SQL語句效能排查、異常會話排查。
在極端情況下,若發生資料丟失或損壞,可以通過SQL洞察記錄的SQL語句進行問題分析和排查,以便資料恢複。
支援地區
華東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、華北6(烏蘭察布)、華南1(深圳)、華南2(河源)、華南3(廣州)、西南1(成都)、中國(香港)、新加坡、日本(東京)、馬來西亞(吉隆坡)、印尼(雅加達)、美國(矽谷)、英國(倫敦)、美國(維吉尼亞)和德國(法蘭克福)
計費詳情
在SQL洞察升級為SQL洞察和審計之前,您已購買執行個體並開通SQL洞察功能:功能費用由RDS側收取,按小時計費,不同地區執行個體價格不同。
0.0015美元/(GB*小時):中國(香港)、美國(矽谷)、美國(維吉尼亞)。
0.0018美元/(GB*小時):新加坡、日本(東京)、德國(法蘭克福)、阿聯酋(杜拜)、馬來西亞(吉隆坡)、印尼(雅加達)、英國(倫敦)。
0.0012美元/(GB*小時):華東 1(杭州)、華東 2(上海)、華北 1(青島)、華北 2(北京)、華北 3(張家口)、華北 5 (呼和浩特)、華北6(烏蘭察布 )、華南 1(深圳)、華南2(河源)、華南3(廣州)和西南1(成都)。
說明您可以在SQL洞察頁簽彈出的升級對話方塊中單擊一鍵升級,升級為SQL洞察和審計。升級後費用由DAS側收取。
在SQL洞察升級為SQL洞察和審計之後,新開通SQL洞察和審計功能:費用由DAS側收取。開啟DAS企業版後,才可以使用該企業版提供的SQL洞察和審計功能。不同企業版支援的地區和計費方式不同,詳情請參見各企業版支援的資料庫和地區和各企業版產品計費。
說明通過控制台,您只能開通當前地區支援的最高版本的DAS企業版。
注意事項
線上查詢:
時間範圍:單次線上查詢時間範圍最多為24小時,您可以查詢資料存放區時間長度範圍內任意24小時的資料(時間範圍過長會導致查詢逾時)。如果需要查詢更大時間範圍的SQL記錄,請使用Log Service接入洞察日誌。詳情請參見採集RDS SQL審計日誌。
查詢方式:線上查詢支援組合查詢,不支援模糊查詢,查詢關鍵字至少包含4個字元。
SQL洞察和審計:
SQL語句最大長度:SQL洞察和審計記錄的SQL語句最大長度為
8192位元組且受loose_rds_audit_max_sql_size(MySQL 5.6/5.7)或loose_rds_audit_log_event_buffer_size(MySQL 8.0)參數影響,取三者最小值。由於資訊採集處理時會增加首碼標註,實際記錄的SQL語句最大長度略小於8192位元組或參數設定。審計記錄查詢:審計記錄支援通過線程ID和事務ID查詢SQL語句記錄。通過事務ID查詢時需將
loose_rds_audit_log_version參數值設為MYSQL_V3,且對資料庫小版本有最低要求:MySQL 8.0小版本需為20210930以上,MySQL 5.7小版本需為20210630以上,詳情請參見RDS MySQL 8.0開放參數一覽表和升級核心小版本。試用版SQL洞察:如您的SQL洞察為試用版,暫不支援調用API(DescribeSQLLogRecords和DescribeSQLLogFiles)查詢審計日誌。
鎖等待時間:洞察日誌包含鎖等待時間,而慢日誌不包含。
當程式使用Prepare方式時,會在SQL洞察中出現2條語句,一條包含問號,一條包含具體值。
如果使用RDS資料庫代理地址串連,且代理開啟了事務級串連池,由於串連可能會被複用,所以使用
show processlist命令或者SQL洞察顯示的IP地址和連接埠可能和用戶端實際的IP地址和連接埠不一致。掛載到PolarDB-X 1.0(DRDS)的RDS MySQL執行個體執行一條SQL語句時,由於水平分割(分庫分表)原因,會在RDS MySQL執行個體上產生多條SQL洞察和審計日誌。
開啟SQL洞察和審計
如果您在Log Service的CloudLens for RDS開啟了RDS MySQL執行個體的審計日誌採集功能,系統會自動開啟對應RDS MySQL執行個體的SQL洞察和審計功能。
如果您未開通SQL洞察和審計功能,您可以通過Binlog日誌進行查看。Binlog日誌只能查詢備份保留時間以內的增、刪、改等SQL語句,不能查看來源IP和帳號資訊。
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列中,選擇。
單擊開啟企業版V3。

勾選需要開啟的功能,單擊開通。
修改SQL洞察和審計資料存放區時間長度
減少SQL洞察和審計資料存放區時間長度後,DAS會立即清空超過儲存時間長度的SQL審計日誌。建議您先將SQL審計日誌匯出並儲存至本地,再減少SQL洞察和審計資料存放區時間長度。
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列中,選擇。
單擊服務設定。
在服務設定頁,修改審計情境的日誌儲存時間長度,然後單擊提交。
關閉SQL洞察和審計
關閉SQL洞察和審計功能後,日誌會被清空。建議先匯出並儲存日誌。當重新開啟SQL洞察和審計功能時,日誌將從新開啟時間開始記錄。
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列中,選擇。
在審計頁簽下的日誌列表地區,單擊匯出。

在彈出的對話方塊中,選擇匯出欄位和匯出時間範圍,單擊確定。
說明單次最多可匯出7天內的1000萬條資料。
可以通過設定匯出時間範圍來匯出更大時間範圍的SQL記錄。
匯出完成後,下載已匯出的檔案並妥善儲存。
單擊服務設定,關閉SQL洞察和審計。
如果您開通了DAS 企業版V3,請去掉SQL洞察和審計所有功能的勾選,單擊提交。
說明關閉SQL洞察和審計功能約1小時後,系統會釋放SQL洞察和審計資料佔用的儲存空間。
遷移不同企業版的SQL洞察和審計資料
遷移操作無法終止和回退,請仔細閱讀遷移說明。
當您的資料庫執行個體支援企業版 V3時,您可以將DAS企業版 V1或V2的資料移轉至企業版 V3,以獲得更加優惠的費用,詳情請參見DAS企業版間資料如何遷移?
企業版 V2相對於企業版 V1,變更了底層儲存架構,通過冷熱混合儲存實現降本增效,使用成本低。而企業版 V3,在冷熱混合儲存的基礎上,按使用的功能細分計費項目,計費更加靈活。