実行環境
(old) mysql Ver 14.14 Distrib 5.1.73
(new) mysql Ver 15.1 Distrib 10.3.28-MariaDB
エラー内容
サーバーのリプレイス準備中にSQLクライアントを使用して、旧環境からエクスポートしたSQLファイルを新環境にインポートしようとしたところで発生。
エラー文は、
SQL 0A80E90FC (1118): Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline. lE8a0F: 05306E08804606A0A80E90FC092q21�9605908B06B06F001"0D00C30C10E20FC0C90670A80E90FC04CQFA05F089P5Ck6205908B" 0AA0D70B70E70F3092q21RB906B05908B05306804C06704D07E059uery
対応方法
インポートしようとしたSQLファイルの中身を確認すると、すべてのレコードで ROW_FORMAT=COMPACT となっていました。
データのあるレコードだけ置換するとエラーが継続したので、一斉置換で
ROW_FORMAT=COMPACT
を
ROW_FORMAT=DYNAMIC
に変換し保存、再度インポートを実行すれば、エラーなくインポートできました。テーブル内データも確認済みです。
古い環境からSQLをインポートすると出るようです。