本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

驗證讀寫分離

更新時間:2025-03-24 19:09

本文介紹如何通過ECS執行個體內網串連驗證RDS MySQL高可用執行個體的讀寫分離。

前提條件

背景資訊

資料庫代理的讀寫分離功能將寫請求轉寄到主執行個體,讀請求轉寄到唯讀執行個體,實現讀寫請求的自動分流,減輕主執行個體的壓力。開通並配置了資料庫代理服務後,可通過本文操作驗證讀寫請求是否按照配置的比例進行分流,實現讀寫分離。

驗證流程

本例以ECS執行個體通過內網串連RDS MySQL執行個體為例,驗證讀寫分離功能。主要步驟如下:

  1. 在RDS控制台設定唯讀執行個體權重為100的整數倍,主執行個體權重為0(例如10000:0),確保所有讀請求均分配至唯讀執行個體。

  2. 通過ECS使用測試帳號串連資料庫Proxy 位址,分別執行讀操作和寫操作。

  3. 在RDS控制台的SQL洞察和審計功能中,查看唯讀執行個體和主執行個體的SQL命令執行記錄。

  4. 根據SQL執行記錄,判斷讀請求是否由唯讀執行個體處理、寫請求是否由主執行個體處理,從而驗證讀寫分離是否生效。

操作步驟

  1. 設定讀寫分離權重。

    1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊主執行個體ID。

    2. 在左側導覽列,單擊資料庫代理,然後在串連資訊地區,找到目標代理串連地址ID(原代理終端ID)。

    3. 單擊目標代理串連地址操作列的修改配置

    4. 在彈出的對話方塊中,完成以下配置:

      • 讀寫屬性設定為讀寫(讀寫分離)

      • 讀權重分配選擇自訂,將唯讀執行個體的權重設為10000,主執行個體的權重設為0,完成後單擊確定

    5. 串連資訊地區,擷取目標代理串連地址ID關聯的內網(專用網路)的代理串連地址。

  2. 通過ECS伺服器使用帳號cxx1串連資料庫並執行讀操作。

    1. 登入到待串連RDS MySQL執行個體的ECS伺服器。

      說明

      登入ECS的操作,請參見串連ECS執行個體

    2. 執行如下命令,串連RDS MySQL執行個體。

      mysql -h代理串連地址 -P連接埠 -u使用者名稱 -p密碼

      命令中的參數說明如下表所示。

      名稱

      含義

      說明

      名稱

      含義

      說明

      代理串連地址

      步驟1中擷取的執行個體的類型為內網(專用網路)的代理串連地址。

      如果使用本地用戶端串連RDS MySQL執行個體,則需要使用類型為外網的代理串連地址。

      大寫字母P

      之後填寫連接埠

      不涉及。

      -u

      之後填寫使用者名稱

      不涉及。

      小寫字母p

      之後填寫密碼

      輸入密碼時,需要在-p後面直接輸入,不允許有空格。

      您也可以不在-p後輸入密碼,在執行命令後再輸入,以防止密碼明文顯示。

    3. 執行如下命令,進入資料庫testdb01。

      USE testdb01;
    4. 執行6次讀操作命令,例如執行如下命令:

      SELECT * FROM products LIMIT 20;
  3. 執行寫操作。在資料庫testdb01中執行3次寫操作命令,例如執行如下命令:

    說明

    在上一步中已通過ECS伺服器串連RDS MySQL執行個體並進入資料庫testdb01(詳細步驟請參見步驟2)。

    CREATE TABLE Products11 (
     prod_id CHAR(10) NOT NULL,
     vend_id CHAR(10) NOT NULL,
     prod_name CHAR(254) NOT NULL,
     prod_price DECIMAL(8,2) NOT NULL,
     prod_desc VARCHAR(1000) NULL
    );                               
  4. 查看主執行個體和唯讀執行個體的SQL請求處理記錄。

    確認SELECT命令請求均由唯讀執行個體處理。確認CREATE命令請求均由主執行個體處理,在唯讀執行個體中未查詢到CREATE命令請求記錄。

    1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊主執行個體ID。

    2. 在主執行個體左側導覽列,選擇自治服務 > SQL洞察和審計,選擇時間範圍,單擊查詢,未查詢到SELECT命令執行記錄。

    3. 在主執行個體左側導覽列,單擊基本資料,將滑鼠移至上方於唯讀執行個體的右側的數字處,在彈出的對話方塊中,單擊唯讀執行個體ID。

    4. 在唯讀執行個體左側導覽列,選擇自治服務 > SQL洞察和審計,選擇時間範圍,單擊查詢,可以看到6次SELECT命令的執行記錄,如下圖所示。執行記錄

    5. 在主執行個體左側導覽列,選擇自治服務 > SQL洞察和審計,選擇時間範圍,單擊查詢,可以看到3次CREATE命令的執行記錄,如下圖所示。執行記錄

驗證結論

在權重設定為10000:0時,只有寫請求由主執行個體處理,所有讀請求均由唯讀執行個體處理,實現了讀寫分離。

  • 本頁導讀 (1, M)
  • 前提條件
  • 背景資訊
  • 驗證流程
  • 操作步驟
  • 驗證結論
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare