Bug #120323 Regression : "Row size too large (> 8126)" error with table using InnoDb DYNAMIC row format
Submitted: 22 Apr 12:51 Modified: 23 Apr 8:15
Reporter: Supervision NV Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: DDL Severity:S1 (Critical)
Version:8.4.9 OS:Debian (12)
Assigned to: CPU Architecture:x86
Tags: ALTER TABLE, CREATE TABLE, innodb, insert, regression, UPDATE

[22 Apr 12:51] Supervision NV
Description:
When creating a table with a large number of varchar fields, we encounter the following message : 

"ERROR 1118 (42000) at line 7: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline."
(is it normal that the BLOB prefix is 0 bytes ?)

Normally this is due to using the COMPACT storage format, but here the ROW_FORMAT=DYNAMIC is specified in the CREATE_TABLE query.

When using just a few fields, the table is created with row_format=DYNAMIC, so it doesn't seem the parameter is ignored outright.

The exact same query worked in 8.4.8 with the exact same parameters in mysql.ini (we run automated server deployments on a daily basis, the configuration has not changed in quite some time, but now that 8.4.9 is released, the deployments fail).

We also tried creating the table with a few fields first then ALTER it to add fields one by one after, but the same things happen, so we have no way to create the table properly.

Setting innodb_strict_mode=OFF does not solve the problem : it allows the table to be created, but then an insert with a test row using the maximum size possible (filling all varchars to their max capacity) cannot be created, triggering the same error, whether inno_db_strict_mode is ON or OFF.

Changing the page_size is also not feasible, because even at its max (64kb, meaning ~32kb per row) the current structure would exceed it.

This happens wile loading directly into mysql via CLI in our automated deployments or PhpMyAdmin on a development system.

Moreover, the mysql Debian apt repository only provides 8.4.9 so we cannot pin the 8.4.8 version even if we wanted to.
This prevents us from deploying new servers since those tables are unusable now.

How to repeat:
Try and create this table, which fails on our side :
(names and default values have been redacted while preserving their lengths)
The sum of varchar lengths is 48598 bytes.

DROP TABLE IF EXISTS `t0xxxxxxx`;
CREATE TABLE `t0xxxxxxx` (
  `f0xxxxxxx` varchar(40) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f1xxxx` varchar(40) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'x' PRIMARY KEY,
  `f2xxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f3xxxxxxxxxxxxxxxxxxxxx` varchar(15) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f4xxxxxxxxxxxxxxxxxxx` varchar(15) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f5xxxxxxxxxxxxxxxx` varchar(15) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f6xxxxxxxxxxxxxxxx` varchar(15) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f7xxxxxxxxxxxxxxxxxx` int UNSIGNED NULL DEFAULT 0,
  `f8xxxxxxxxxxxxxxxxxx` int UNSIGNED NULL DEFAULT 0,
  `f9xxxxxxxxxxxxxxxxxxxxxxx` varchar(15) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f10xxxxxxxxxxxxxxxxxxxxxx` varchar(15) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f11xxxxxxxxxxxxxxx` tinyint NULL DEFAULT NULL,
  `f12xxxxxxxxxxxxxxxxx` tinyint NULL DEFAULT NULL,
  `f13xxxxxxxxxxx` varchar(160) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f14xxxxxxxxxxx` varchar(40) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'x',
  `f15xxxxxxxxxxxxxxxxx` varchar(160) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f16xxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f17xxxxxxxxxxxxxxx` varchar(7) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f18xxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f19xxxxxxxxxxx` varchar(4096) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f20xxxxxxxxxxx` varchar(22) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f21xxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f22xxxxxxxxxxxxxxxxxx` varchar(8) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxx',
  `f23xxxxxxxxxxxxxxxxxxx` varchar(160) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f24xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f25xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f26xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f27xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f28xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f29xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f30xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f31xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f32xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f33xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f34xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f35xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f36xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f37xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f38xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f39xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f40xxxxxxxxxxxxxxxxxxx` varchar(8) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxx',
  `f41xxxxxxxxxxxxxxxxxxxx` varchar(160) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f42xxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f43xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f44xxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f45xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f46xxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f47xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f48xxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f49xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f50xxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f51xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f52xxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f53xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f54xxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f55xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f56xxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(224) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f57xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f58xxxxxxxxxxxxxxxxxxxx` varchar(7) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxx',
  `f59xxxxxxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f60xxxxxxxxxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f61xxxxxxxxxxxxxxxxxxx` varchar(50) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxx',
  `f62xxxxxxxxxxxxxxxxxxxxxx` datetime NULL DEFAULT NULL,
  `f63xxxxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxx',
  `f64xxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f65xxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f66xxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f67xxxxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxx',
  `f68xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f69xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f70xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f71xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f72xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f73xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f74xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f75xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f76xxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f77xxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f78xxxxxxxxxxxxxxxxxxxxxxx` varchar(20) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f79xxxxxxxxxxxxxxxx` smallint UNSIGNED NULL DEFAULT 300,
  `f80xxxxxxxxxxxxxxxxxxxxxx` varchar(1) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'x',
  `f81xxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f82xxxxxxxxxxxx` varchar(25) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxx',
  `f83xxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f84xxxxxxxxxxxxxxxxx` varchar(8) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'x',
  `f85xxxxxxxxxxxxxxxxxxxx` varchar(500) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxx',
  `f86xxxxxxxxxxxxxxxxx` varchar(1) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'x',
  `f87xxxxxxxxxxxxxxxxxxxxxxxx` varchar(250) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f88xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f89xxxxxxxxxxxxxxxxx` tinyint NULL DEFAULT 0,
  `f90xxxxxxxxxxxxxxxxx` tinyint NULL DEFAULT 0,
  `f91xxxxxxxxxx` varchar(100) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f92xxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f93xxxxxxxxxxxxx` varchar(436) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f94xxxxxxxxxxxxxxxxxxx` varchar(13) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxx',
  `f95xxxxxxxxxxxxxxxxxx` varchar(13) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxx',
  `f96xxxxxxxxxxxxxxxxxxx` varchar(24) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxx',
  `f97xxxxxxxxxxxxxxxxxxx` varchar(8) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxx',
  `f98xxxxxxxxxxxxxxxxxx` varchar(12) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxx',
  `f99xxxxxxxxxxxxxxxxxxxx` varchar(31) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxx',
  `f100xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(26) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxx',
  `f101xxxxxxxxxxxxxxxxxxx` varchar(128) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxx',
  `f102xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(128) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxx',
  `f103xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(26) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxx',
  `f104xxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(26) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxx',
  `f105xxxxxxxxxxxxxxxxxxxxxxxx` varchar(30) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxx',
  `f106xxxxxxxxxxxxxxx` varchar(22) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxx',
  `f107xxxxxxxxxxxxxxxxxx` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f108xxxxxxxxxxxxxxxxxx` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f109xxxxxxxxxxxxxxxxxx` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f110xxxxxxxxxxxxxxxxxx` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f111xxxxxxxxxxxxxxxxxx` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f112xxxxxxxxxxxxxxxxxx` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f113xxxxxxxxxxxxxxxxxx` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f114xxxxxxxxxxxxxxxxxx` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f115xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f116xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f117xxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f118xxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f119xxxxxxxxxxxxxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f120xxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f121xxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f122xxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f123xxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f124xxxxxxxxxxxxxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f125xxxxxxxxxxxxxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f126xxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f127xxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f128xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f129xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f130xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f131xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f132xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f133xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f134xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f135xxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f136xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f137xxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f138xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(6) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f139xxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f140xxxxxxxxxxxxxxxxxxxx` varchar(9) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f141xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(416) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f142xxxxxxxxxxxxx` varchar(12) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f143xxxxxxxxxxxxxxxxxxxxx` varchar(6) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f144xxxxxxxxxxxxxxxx` varchar(628) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f145xxxxxxxxxxxxxxxxxxxxx` tinyint UNSIGNED NULL DEFAULT 1,
  `f146xxxxxxxxxxxxxxxxxxxx` text CHARACTER SET latin1 COLLATE latin1_general_cs NULL DEFAULT NULL,
  `f147xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f148xxxxxxxxxxxxxxxxxx` smallint UNSIGNED NULL DEFAULT 10,
  `f149xxxxxxxx` tinyint UNSIGNED NULL DEFAULT 1,
  `f150xxxxxxxxxxxxxxxxxxx` varchar(20) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxx',
  `f151xxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(4) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f152xxxxxxxxxxxxxxxxxxxxxxxxx` mediumint UNSIGNED NULL DEFAULT 0,
  `f153xxxxxxxxxxxxxxxxxxxxxxxx` varchar(1) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'x',
  `f154xxxxxxxxxxxxxxxxxxx` tinyint UNSIGNED NULL DEFAULT 1,
  `f155xxxxxxxxx` int UNSIGNED NULL DEFAULT 300,
  `f156xxxxxxxxxxxx` int UNSIGNED NULL DEFAULT 300,
  `f157xxxxxxxxxxxxxxx` varchar(120) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f158xxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f159xxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f160xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f161xxxxxxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f162xxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f163xxxxxxxxxxxxxx` tinyint UNSIGNED NULL DEFAULT 1,
  `f164xxxxxxxxxx` tinyint UNSIGNED NULL DEFAULT 1,
  `f165xxxxxxxxxxx` tinyint UNSIGNED NULL DEFAULT 0,
  `f166xxxxxxxxxxxxxx` tinyint UNSIGNED NULL DEFAULT 1,
  `f167xxxxxxxxxxxxxxxx` varchar(1460) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  `f168xxxxxxxxxxx` varchar(1460) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f169xxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f170xxxxxxxxxxxxxxxx` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f171xxxxxxxxxxxxxxxxxx` varchar(100) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f172xxxxxxxxxxxxxxxxxxx` tinyint UNSIGNED NULL DEFAULT 1,
  `f173xxxxxxxxxxxxxx` varchar(3072) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f174xxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f175xxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f176xxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f177xxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f178xxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f179xxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f180xxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f181xxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f182xxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f183xxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f184xxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f185xxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f186xxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f187xxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f188xxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f189xxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f190xxxxxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f191xxxxxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f192xxxxxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f193xxxxxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f194xxxxxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f195xxxxxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f196xxxxxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f197xxxxxxxxxxxxxxxxxxxxxxxx` varchar(70) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f198xxxxxxxxxxxxxxxxxx` mediumtext CHARACTER SET latin1 COLLATE latin1_general_cs NULL DEFAULT NULL,
  `f199xxxxxxxxxxxxxxxxxx` mediumtext CHARACTER SET latin1 COLLATE latin1_general_cs NULL DEFAULT NULL,
  `f200xxxxxxxxxxxxxxxxxxxxxxxx` mediumtext CHARACTER SET latin1 COLLATE latin1_general_cs NULL DEFAULT NULL,
  `f201xxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f202xxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f203xxxxxxxxxxxxxxxxxxxxxxxxxx` int UNSIGNED NULL DEFAULT 0,
  `f204xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` int UNSIGNED NULL DEFAULT 0,
  `f205xxxxxxxxxxxxxxxxx` varchar(3320) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f206xxxxxxxxxxxxxxxxxxxx` varchar(3320) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f207xxxxxxxxxxxxxxxxxxxx` varchar(836) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f208xxxxxxxxxxxxxxxxx` varchar(836) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f209xxxxxxxxxxxxxxxxxxxxxxxx` mediumtext CHARACTER SET latin1 COLLATE latin1_general_cs NULL DEFAULT NULL,
  `f210xxxxxxxxxxxxxxxxxxxxxxxx` mediumtext CHARACTER SET latin1 COLLATE latin1_general_cs NULL DEFAULT NULL,
  `f211xxxxxxxxxxxxxxxxxxxxx` mediumtext CHARACTER SET latin1 COLLATE latin1_general_cs NULL DEFAULT NULL,
  `f212xxxxxxxxxxxxxxxxxxx` varchar(4096) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f213xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f214xxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(1024) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f215xxxxxxxxxxxxxxxxx` varchar(140) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f216xxxxxxxxxxxxxxxxxxx` varchar(3) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'xxx',
  `f217xxxxxxxxxxxxxxxxxxx` mediumtext CHARACTER SET latin1 COLLATE latin1_general_cs NULL DEFAULT NULL,
  `f218xxxxxxxxxxxxx` varchar(64) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f219xxxxxxxxxxxx` varchar(64) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f220xxxxxxxxxxxxxxx` varchar(64) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f221xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(32) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f222xxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(3320) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f223xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` tinyint UNSIGNED NULL DEFAULT 1,
  `f224xxxxxxxxxxxxxxxxxxxxxxxxxxxxx` varchar(756) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f225xxxxxxxxxxxxxxxxxxxxxxxxxx` mediumtext CHARACTER SET latin1 COLLATE latin1_general_cs NULL DEFAULT NULL,
  `f226xxxxxxxxxxxxxxxxx` tinyint UNSIGNED NULL DEFAULT 0,
  `f227xxxxxxxxxxxxxxxxxxxxxxxx` mediumtext CHARACTER SET latin1 COLLATE latin1_general_cs NULL DEFAULT NULL,
  `f228xxx` varchar(64) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT '',
  `f229xxxxxxxxxxxx` timestamp on update CURRENT_TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE InnoDB DEFAULT CHARACTER SET latin1 COLLATE latin1_general_cs ROW_FORMAT=DYNAMIC;
[22 Apr 12:55] Supervision NV
By 'mysql.ini' I meant the config files in /etc/mysql , which are deployed by our automated scripts and have not been modified since a long time ago.
[22 Apr 13:32] Supervision NV
It is even worse than I initially thought :

After updating an existing server where such a table already exists (if it was created using a previous MySQL version e.g. 8.4.8), it too becomes subject to that bug and has insert/update errors if the data is too large.

Until this is fixed I suggest a rollback of the repos to 8.4.8 since 8.4.9 doesn't seem to be a security update, at least from what I see in the changelog.
[22 Apr 16:17] Valentin AUCLERC
Hello

We have the exact same error since yesterday, our database which was OK with mysql 8.0.45 is now KO with 8.0.46. We downgraded to 8.0.45 and it's OK again.
[23 Apr 5:42] MySQL Verification Team
Thanks for the report.  On 8.4.8 I could create that table, and insert a row.
Inplace upgrade to 8.4.9, I could still insert a row into the existing table.

However I could recreate the table from scratch on 8.4.9, with innodb_strict_mode=0   and insert a row into it.

Please try: innodb_strict_mode=0  in my.cnf as a workaround.
[23 Apr 6:34] MySQL Verification Team
with no value of innodb_strict_mode could I insert the full text long into the tables in either 8.4.8 or 8.4.9.
[23 Apr 8:15] Supervision NV
I do not experience the same outcome.

I'm attaching two test files, where I generated the maximum length values for all the varchars in that table (leaving the 'text' and 'mediumtext' fields alone for now as otherwise the test file would be several megabytes), one with innodb_strict_mode ON and the other with it OFF, otherwise identical.

Here are the results : 

------
source /tmp/test_strict_mode_on.sql
Query OK, 0 rows affected (0.00 sec)

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| innodb_strict_mode | ON    |
+--------------------+-------+
1 row in set (0.01 sec)

Database changed
Query OK, 0 rows affected, 1 warning (0.07 sec)

ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
Empty set (0.00 sec)

ERROR 1146 (42S02): Table 'temp.t0xxxxxxx' doesn't exist
ERROR 1146 (42S02): Table 'temp.t0xxxxxxx' doesn't exist
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| innodb_strict_mode | ON    |
+--------------------+-------+
1 row in set (0.00 sec)
------
source /tmp/test_strict_mode_off.sql
Query OK, 0 rows affected (0.00 sec)

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| innodb_strict_mode | OFF   |
+--------------------+-------+
1 row in set (0.00 sec)

Database changed
Query OK, 0 rows affected, 1 warning (0.01 sec)

Query OK, 0 rows affected, 1 warning (0.06 sec)

+----------------+
| Tables_in_temp |
+----------------+
| t0xxxxxxx      |
+----------------+
1 row in set (0.00 sec)

ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
Empty set (0.00 sec)

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| innodb_strict_mode | OFF   |
+--------------------+-------+
1 row in set (0.00 sec)
------

As you can see, even with innodb_strict_mode as OFF I cannot insert the row into the table, even if it lets me create the table.

I managed to revert a server to 8.4.8 using .deb files from the apt cache in a yet to be upgraded server.
In that previous version, in both cases MySQL lets me create the table without warning or error but refuses to insert the row like in the 8.4.9+innodb_strict_mode=OFF case.

So it seems that 8.4.9 is more "correct" in that it emits the error earlier, not allowing to create a table that won't work later ; but it remains that we cannot use this table despite using a DYNAMIC row format if the data gets too big.

From what I understand from the docs here : https://dev.mysql.com/doc/refman/8.4/en/innodb-row-format.html, the DYNAMIC row format allows varchar fields to be offloaded off-page and only keep a 20-byte pointer inside the page until the row fits in the page size limit, so here with less than 250 varchar and text fields it should amount to less than 5000 bytes, which should leave enough for the few non-variable length fields to reach the 8126 bytes budget ?
[23 Apr 8:15] Supervision NV
test file with strict mode off

Attachment: test_strict_mode_off.sql (application/octet-stream, text), 86.58 KiB.

[23 Apr 8:16] Supervision NV
test file with strict mode on

Attachment: test_strict_mode_on.sql (application/octet-stream, text), 86.58 KiB.