MariaDB でデータベースインポート時に「 ERROR 1118 (42000) ~」のエラー

2023-12-13

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

 

 

スポンサーリンク

0
0

LinuxCentOS 8,mariadb,MySQL

Posted by admin