Vor einem Update von WordPress wollte ich wie gewohnt meine Datenbank sichern:
# mysqldump -u username -p wordpress > wordpress.sql # mysql -u username -p wordpress_bu_20191113 < wordpress.sql
Leider brach der Import mit der Fehlermeldung "ERROR 1118 (42000) at line 2239: 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." ab.
Nach kurzer Recherche entschied ich mich für folgenden Workaround:
Setzen der Variable innodb_strict_mode auf OFF in der Datei /etc/mysql/mariadb.conf.d/50-server.cnf:
… # This group is only read by MariaDB servers, not by MySQL. # If you use the same .cnf file for MySQL and MariaDB, # you can put MariaDB-only options here [mariadb] # Rana # Kommentarzeichen entfernen wenn der Fehler # "ERROR 1118 (42000) at line 2239: 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." auftritt: #innodb_strict_mode=OFF …
Nach der Änderung nicht auf den Neustart der Datenbank-Daemon vergessen!
# systemctl restart mysqld.service
Danach funktionierte der Import ohne Probleme.
Ich habe nach dem Import die Variable in der Konfigurationsdatei /etc/mysql/mariadb.conf.d/50-server.cnf wieder auskommentiert und den Daemon neu gestartet.
Weitere Infos zu dem Thema sind in der Knowledgebase zu MariaDB unter Troubleshooting Row Size Too Large Errors with InnoDB zu finden.