MariaDB でデータベースインポート時に「 ERROR 1118 (42000) ~」のエラー
CentOS 6からCentOS 8に移行したサーバーで、旧サーバーのDBをインストールしたデータベースをインポートすると「ERROR 1118 (42000) at line 1278: 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.」と表示されました。
エラーの原因ですが、行のサイズが許容される最大サイズを超えていることが原因です。エラーが発生した行に関連するカラムを特定して、そのカラムをTEXTまたはBLOB型に変更するなどがありますが、今回はInnoDBの設定を変更して、行のサイズの制限を緩和することで対策します。
具体的は、/etc/my.cnf・/etc/my.cnf.d/mariadb-server.cnf 等のの設定ファイルを下記の設定を追加します。
InnoDBの厳格なモードを無効に行サイズの制限を緩和します
# 設定ファイルを編集して、InnoDBの厳格なモードを無効にします $ sudo vim /etc/my.cnf [mysqld] innodb_strict_mode=0 # MariaDBを再起動します $ sudo systemctl restart mariadb
ディスカッション
コメント一覧
まだ、コメントがありません