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

在對MySQL數據庫進行創建索引等操作時報錯

更新時間:

問題描述

在DMS控制臺中對RDS MySQL實例或自建MySQL數據庫(ECS自建數據庫或IDC自建數據庫)進行創建索引等操作時,提示類似如下信息。

ERROR 1799 (HY000): Creating index 'XXX' required more than'innodb_online_alter_log_max_size' bytes of modification log. Please try XXX.XXX

問題原因

innodb_online_alter_log_max_size參數的值設置過小導致創建索引失敗,innodb_online_alter_log_max_size參數的相關信息請參見更多信息

解決方案

  • RDS MySQL實例
    若您想修改該參數,請參見設置實例參數設置innodb_online_alter_log_max_size參數。
  • 自建MySQL數據庫
    登錄數據庫,參考以下語句,修改該參數的大小。
    SET GLOBAL innodb_online_alter_log_max_size=[$Size];
    說明:[$Size]值的大小請您聯系對應業務DBA支持進行評估。

更多信息

innodb_online_alter_log_max_size參數是MySQL 5.6.6新加入的一個參數,用以指定對InnoDB表進行在線DDL操作時,所使用的臨時日志文件的最大大小(以字節為單位,默認128MB),在創建索引或者使用ALTER語句修改表時會使用該臨時文件。該文件記錄了DDL操作期間插入、更新、刪除的數據。在必要的時候該日志文件的大小會根據innodb_sort_buffer_size的值增加容量,直至達到innodb_online_alter_log_max_size值指定的最大值。若臨時表的大小超出此上限,則使用ALTER語句修改表的操作會失敗,即當前所有未提交的DML操作都會回滾。

因此,設置一個較大的值可以允許在線DDL操作期間有更多的DML操作被執行,但是過大的值會導致DDL操作后鎖定表的時間更長(鎖定表,應用日志記錄到表上)。即在任務執行過程中有過多的新增數據進來,導致臨時文件存放不下。innodb_online_alter_log_max_size參數的更多信息,請參見MySQL官方文檔

適用于

  • 數據管理DMS
  • 云數據庫RDS