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

Row format options removed

XMLWordPrintable

    • MySQL
    • MOODLE_34_STABLE
    • MOODLE_33_STABLE, MOODLE_34_STABLE
    • m35_MDL-59099_MySQL8_InnoDB_Params_Removed
    • Hide

      Requires --MDL-59100--.

      Run both DDL and DML tests:

      • vendor/bin/phpunit core_ddl_testcase lib/ddl/tests/ddl_test.php
      • vendor/bin/phpunit core_dml_testcase lib/dml/tests/dml_test.php

      For regression purposes too, it is wise to launch the tests above with the supported version of MariaDB and MySQL, including MySQL 8.

      To run a MySQL 8 env you can use https://github.com/moodlehq/moodle-docker with the following patch:

      # git diff db.mysql.yml
      diff --git a/db.mysql.yml b/db.mysql.yml
      index 368785f..d488b7c 100644
      --- a/db.mysql.yml
      +++ b/db.mysql.yml
      @@ -5,13 +5,11 @@ services:
             MOODLE_DOCKER_DBTYPE: mysqli
             MOODLE_DOCKER_DBCOLLATION: utf8mb4_bin
         db:
      -    image: mysql:5
      +    image: mysql:8.0.2
           command: >
                       --character-set-server=utf8mb4
                       --collation-server=utf8mb4_bin
      -                --innodb_file_format=barracuda
                       --innodb_file_per_table=On
      -                --innodb_large_prefix=On
           environment:
             MYSQL_ROOT_PASSWORD: "m@0dl3ing"
             MYSQL_USER: moodle
      

      Alternatively, you may run the MySQL 8 docker image directly:

      docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=moodle -d mysql:8.0.2 --character-set-server=utf8mb4 --collation-server=utf8mb4_bin --innodb_file_per_table=On
      

      Important: When testing on MySQL 8, test on 8.0.2 or lower. (See MDL-60793 for more info)

      Show
      Requires -- MDL-59100 --. Run both DDL and DML tests: vendor/bin/phpunit core_ddl_testcase lib/ddl/tests/ddl_test.php vendor/bin/phpunit core_dml_testcase lib/dml/tests/dml_test.php For regression purposes too, it is wise to launch the tests above with the supported version of MariaDB and MySQL, including MySQL 8. To run a MySQL 8 env you can use https://github.com/moodlehq/moodle-docker with the following patch: # git diff db.mysql.yml diff --git a/db.mysql.yml b/db.mysql.yml index 368785f..d488b7c 100644 --- a/db.mysql.yml +++ b/db.mysql.yml @@ -5,13 +5,11 @@ services: MOODLE_DOCKER_DBTYPE: mysqli MOODLE_DOCKER_DBCOLLATION: utf8mb4_bin db: - image: mysql:5 + image: mysql:8.0.2 command: > --character-set-server=utf8mb4 --collation-server=utf8mb4_bin - --innodb_file_format=barracuda --innodb_file_per_table=On - --innodb_large_prefix=On environment: MYSQL_ROOT_PASSWORD: "m@0dl3ing" MYSQL_USER: moodle Alternatively, you may run the MySQL 8 docker image directly: docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=moodle -d mysql:8.0.2 --character-set-server=utf8mb4 --collation-server=utf8mb4_bin --innodb_file_per_table=On Important: When testing on MySQL 8, test on 8.0.2 or lower. (See MDL-60793 for more info)

      In the MySQL 8.0 preview release:

      The following InnoDB file format configuration parameters were removed:

      innodb_file_format

      innodb_file_format_check

      innodb_file_format_max

      innodb_large_prefix

      File format configuration parameters were necessary for creating tables compatible with earlier versions of InnoDB in MySQL 5.1. Now that MySQL 5.1 has reached the end of its product lifecycle, the parameters are no longer required.

      The FILE_FORMAT column was removed from the INNODB_SYS_TABLES and INNODB_SYS_TABLESPACES Information Schema tables.

      https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html

      This breaks our environment tests which are looking for innodb_file_format being Barracuda

            matteo Matteo Scaramuccia
            poltawski Dan Poltawski
            David Monllaó David Monllaó
            Jun Pataleta Jun Pataleta
            Jun Pataleta Jun Pataleta
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.