The frontend does not match Zabbix database.
除了这个问题
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix zabbix -p
Enter password:
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.
这个问题是因为
The problem here is that InnoDB has a maximum row size in MariaDB and MySQL that is roughly equivalent to half of innodb_page_size. InnoDB’s row formats work around this problem by storing certain kinds of variable-length columns on overflow pages. However, different row formats can store different types of data on overflow pages. The DYNAMIC row format is the default row format in MariaDB 10.2 and later. For varchar columns, this row format can only store them on overflow pages if they are 256 bytes or longer:
解决方案
先清空错误库
drop database zabbix;
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
flush privileges;
quit;
cp /usr/share/doc/zabbix-server-mysql*/create.sql.gz .
gunzip create.sql.gz
#在第一行插入 关闭严格模式
sed -ir '1 iSET SESSION innodb_strict_mode=OFF;' create.sql
cat create.sql | mysql -uzabbix zabbix -p
#输入密码
ref
https://support.zabbix.com/browse/ZBX-16465
https://mariadb.com/kb/en/library/innodb-row-formats-overview/#upgrading-causes-row-size-too-large-errors