Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-58931

Support AWS Aurora, currently row_format=compressed causes Moodle installation to fail

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 3.3
    • Fix Version/s: None
    • Component/s: Database SQL/XMLDB
    • Labels:
    • Affected Branches:
      MOODLE_33_STABLE

      Description

      Hello, I was trying to install Moodle 3.3 today and I couldn't. I was getting the error below

       

       

      Debug info:
       Index column size too large. The maximum column size is 767 bytes.
      CREATE TABLE mdl_config (
      id BIGINT(10) NOT NULL auto_increment,
      name VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
      value LONGTEXT COLLATE utf8mb4_unicode_ci NOT NULL,
      CONSTRAINT PRIMARY KEY (id)
      , UNIQUE KEY mdl_conf_nam_uix (name)
      )
      ENGINE = InnoDB
      DEFAULT COLLATE = utf8mb4_unicode_ci ROW_FORMAT=Compressed
      COMMENT='Moodle configuration variables'
      ;
      CREATE TABLE mdl_config_plugins (
      id BIGINT(10) NOT NULL auto_increment,
      plugin VARCHAR(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'core',
      name VARCHAR(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
      value LONGTEXT COLLATE utf8mb4_unicode_ci NOT NULL,
      CONSTRAINT PRIMARY KEY (id)
      , UNIQUE KEY mdl_confplug_plunam_uix (plugin, name)
      )
      ENGINE = InnoDB
      DEFAULT COLLATE = utf8mb4_unic
      

       

      I am using AWS Aurora as my DB Engine

      After some investigation and internet searching I found out that the problem is

      row_format=compressed

      I followed the Moodle guides to make all the necessary changes for the new Barracuda file format, all the settings below are applied

       

      default-character-set = utf8mb4 
      innodb_file_format = Barracuda 
      innodb_file_per_table = 1 
      innodb_large_prefix 
      character-set-client-handshake = FALSE
      character-set=server= utf8mb4
      collation-server = utf8mb4_unicode_ci 
       
      default-character-set = utf8mb4
      

       

       

      Even though innodb_large_prefix  is enabled I still get the error. I am not sure if this is AWS Aurora specific but I would like to know if there is a way to be fixed.

       

      I also tried to create the table manually, and when I changed the row_format=compressed to row_format=dynamic I managed to create the table.

       

      Thanks for your time.

      Christos

       

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                8 Vote for this issue
                Watchers:
                14 Start watching this issue

                Dates

                • Created:
                  Updated: