今回Zabbix4.0
の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.
インポート時に実行したコマンドは、以下となります。
zcat create.sql.gz | mysql -u zabbix -p zabbix
結論から言うと原因は、immodb
厳密モードがON
になっているせいです。
この設定は、MariaDB10.2.2
からデフォルトで有効に設定されるようになりました。
対処方法として/etc/my.conf
か/etc/my.cnf.d/server.cnf
の[mysqld]
session内に以下の設定を追記してimmodb
厳密モードがOFF
にすることで対応可能しました。
innodb_strict_mode=0
そもそもinnodb_strict_mode
ってなに?については、Mysql 公式サイトに載ってましたのでそちらを参照してください
ちなみに一度innodb_strict_mode
をON
の状態でZabbixのデータベースインポートをしてしまった場合は、一度そのデータベースを完全に削除してから再実行してくださいとのことです。
以上です。