日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

云數據庫RDS MySQL版實例中實時查詢慢日志slow_log的方法

概述

本文主要介紹在使用云數據庫RDS MySQL版實例時,實時查詢慢日志slow_log的方法。

用戶告知

  • 本文僅闡述實時查詢slow_log的方法,文中的操作示例未通過where語句進行條件過濾,因此屬于全表查詢。建議您在操作時,通過where語句增加條件過濾,避免慢查詢結果太多導致查詢時間長等情況。
  • 云數據庫RDS MySQL v5.5版實例不支持直接查詢慢日志slow_log。您可以通過管理控制臺查詢慢日志,詳情請參見查看慢日志明細通過控制臺查詢慢日志的章節。

詳細信息

云數據庫RDS MySQL版實例的版本不同,對應的查詢方式不同,詳情如下。

RDS MySQL v5.6版本

實時查詢慢日志slow_log的步驟如下:

  1. 登錄您的MySQL實例。關于如何登錄MySQL實例,請參見連接MySQL實例
  2. 執行以下SQL語句,直接查詢慢日志slow_log。
    SELECT * FROM mysql.slow_log;

RDS MySQL v5.7版本和RDS MySQL v8.0版本

RDS MySQL v5.7版本和RDS MySQL v8.0版本中,慢日志slow_log表的sql_text列是blob類型。在查詢時需要進行轉換,操作方法有以下兩種。

查詢時通過CONVERT方法轉換sql_text列的類型

查詢慢日志slow_log時,通過CONVERT方法轉換sql_text列為UTF-8字符集,操作步驟如下:

  1. 登錄您的MySQL實例。關于如何登錄MySQL實例,請參見連接MySQL實例
  2. 執行以下SQL語句,查詢慢日志slow_log。
    SELECT start_time,
           user_host,
           query_time,
           lock_time,
           rows_sent,
           rows_examined,
           db,
           CONVERT(sql_text USING utf8)
    FROM mysql.slow_log;

通過中間表導入slow_log表的數據

創建一個UTF-8字符集的slow_log_tmp表,并設定sql_text列為varchar類型,導入slow_log表數據后進行查詢。

說明:此方法等同于備份slow_log表,RDS不會自動清理新創建的slow_log_tmp表。因此,此方法會占用RDS實例的存儲空間。

  1. 登錄您的MySQL實例。關于如何登錄MySQL實例,請參見連接MySQL實例
  2. 執行以下SQL語句,在其他數據庫下創建一個UTF-8字符集的slow_log_tmp表。創建該表時,設定sql_text列為varchar類型,其他列與slow_log表一致。
    CREATE TABLE `test`.`slow_log_tmp` (
      `start_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
    `user_host` mediumtext NOT NULL,
      `query_time` time(6) NOT NULL,
      `lock_time` time(6) NOT NULL,
      `rows_sent` int(11) NOT NULL,
      `rows_examined` int(11) NOT NULL,
      `db` varchar(512) NOT NULL,
      `last_insert_id` int(11) NOT NULL,
      `insert_id` int(11) NOT NULL,
      `server_id` int(10) unsigned NOT NULL,
      `sql_text` varchar(2000) NOT NULL,
      `thread_id` bigint(21) unsigned NOT NULL
    ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log tmp';
    說明:本文在test數據庫新建名為slow_log_tmp為例。您可以根據現場實際情況調整該表的名稱和所在數據庫。
  3. 執行以下SQL語句,將slow_log表的數據導入slow_log_tmp表。
    INSERT INTO test.slow_log_tmp SELECT * FROM mysql.slow_log;
  4.  執行以下SQL語句,在新建的slow_log_tmp表查詢慢日志slow_log。
    SELECT * FROM test.slow_log_tmp;

適用于

  • 云數據庫RDS MySQL版