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

驗證讀寫分離

本文以ECS實例通過內網連接RDS MySQL實例為例,介紹驗證RDS MySQL高可用系列實例的讀寫分離的方法。

前提條件

  • 已創建RDS MySQL高可用系列主實例。

  • 已為主實例創建只讀實例,操作方法請參見創建MySQL只讀實例

  • 已為實例創建至少1個數據庫(含至少1個表)和1個測試賬號(普通賬號或高權限賬號均可),操作方法請參見創建數據庫和賬號

    說明
    • 如果您創建的測試賬號為普通賬號,還需要給該賬號賦予待操作數據庫的讀寫(DDL+DML)權限。

    • 在本例中創建的數據庫為testdb01,表為products,測試賬號為cxx1。

  • 已為實例設置IP白名單。操作方法請參見設置IP白名單

  • 連接RDS MySQL實例的ECS實例與RDS MySQL實例在同一個VPC下,并且已經安裝了MySQL客戶端。

  • 已開通數據庫代理服務。

  • 已開通SQL洞察和審計功能。

    說明

    開通數據庫代理服務、SQL洞察和審計功能需要付費,操作方法和計費詳情,請參見開通數據庫代理SQL洞察和審計

背景信息

數據庫代理的讀寫分離功能可使寫請求自動轉發到主實例,讀請求自動轉發到各個只讀實例,實現讀寫請求的自動分流,減輕主實例的壓力。在您開通并配置了數據庫代理服務后,可通過本文介紹的方法驗證讀寫請求是否按照配置的比例進行分流,實現讀寫分離。

驗證流程

在本例中,以ECS實例通過內網連接RDS MySQL實例為例進行驗證。主要步驟如下:

  1. 在RDS控制臺將只讀實例的讀寫分離權重設置為100的整數倍,主實例的權重設置為0。只有主實例的權重設置為0,才能保證讀請求全部分配給只讀實例處理。在本例中,只讀實例與主實例的權重比例設置為10000:0。

  2. 通過ECS使用測試賬號連接數據庫代理地址,執行讀操作,在RDS控制臺的SQL洞察和審計功能中查看只讀實例和主實例的SQL命令執行記錄。

  3. 通過ECS使用測試賬號連接數據庫代理地址,執行寫操作,在RDS控制臺的SQL洞察和審計功能中查看只讀實例和主實例的SQL命令執行記錄。

  4. 根據只讀實例和主實例的SQL命令執行記錄判斷讀請求和寫請求由哪個實例處理,是否實現了讀寫分離。

操作步驟

  1. 在RDS控制臺設置讀寫分離權重。

    1. 訪問RDS實例列表,在上方選擇地域,然后單擊主實例ID。

    2. 在左側導航欄,單擊數據庫代理,然后在連接信息區域,找到目標代理連接地址ID(原代理終端ID)。

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

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

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

      • 讀權重分配選擇自定義,將只讀實例的權重設為10000,主實例的權重設為0,完成后單擊確定

    5. 連接信息區域,獲取目標代理連接地址ID關聯的內網(專有網絡)的代理連接地址。

  2. 驗證讀請求的處理情況。

    1. 通過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;
    2. 在RDS控制臺的SQL洞察和審計功能中,查看主實例和只讀實例的SQL請求處理記錄,確認SELECT命令請求均由只讀實例處理。

      1. 訪問RDS實例列表,在上方選擇地域,然后單擊主實例ID。

      2. 在主實例左側導航欄,選擇自治服務 > SQL洞察和審計,選擇時間范圍,單擊查詢,未查詢到SELECT命令執行記錄。

      3. 在主實例左側導航欄,單擊基本信息,將鼠標懸停于只讀實例的右側的數字處,在彈出的對話框中,單擊只讀實例ID。

      4. 在只讀實例詳情頁的左側導航欄,選擇自治服務 > SQL洞察和審計,選擇時間范圍,單擊查詢,可以看到6次SELECT命令的執行記錄,如下圖所示。執行記錄

  3. 驗證寫請求的處理情況。

    說明

    在上一步中已通過ECS服務器連接RDS MySQL實例并進入數據庫testdb01(詳細步驟請參見步驟2)。

    1. 在數據庫testdb01中執行3次寫操作命令,例如執行如下命令:

      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
      );                               
    2. 在RDS控制臺的SQL洞察和審計功能中,查看主實例和只讀實例的SQL請求處理記錄(詳細步驟請參見步驟2),確認CREATE命令請求均由主實例處理,在只讀實例中未查詢到CREATE命令請求記錄。主實例的SQL請求記錄如下圖所示。執行記錄

驗證結論

由上述驗證步驟可以看到,在RDS MySQL只讀實例與主實例的讀寫分離權重設置為10000:0的情況下,只有寫請求會由主實例處理,全部的讀請求均由只讀實例處理,實現了讀寫分離。