InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE. と言われデータベースに書く込めないときの解決法

mariadb10.6から「innodb_read_only_compressed」が追加されこれがデフォルトでONになっています

この場合これと「innodb_strict_mode」をOFFにすると治ります。

Dockerの場合は下記のように追加しましょう。

  mysql:
    image: mariadb
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_USER: db
      MYSQL_PASSWORD: db
      MYSQL_DATABASE: db
    command:
      - "--character-set-server=utf8mb4"
      - "--collation-server=utf8mb4_unicode_ci"
      - "--innodb_strict_mode=OFF"
      - "--innodb_read_only_compressed=OFF"
    volumes:
            - ./db:/var/lib/mysql

未分類

Posted by penM