ニシキヘビってかわいいよね、実際みたことないけど。

いよかん国でプログラミングとかの備忘録を書いてます。 一日一食たまごかけごはん。

zabbixインストールでテーブルを作成するときの注意

(pythonの)fabricでzabbixのインストールをしようとして

# データベース初期設定
path_to_init_sql = "/usr/share/doc/zabbix-server-mysql-*/create/"
for file_name in ["data.sql", "schema.sql", "images.sql", ]:
    run("mysql -u root -p zabbix < "+path_to_init_sql+file_name)

みたいなデータベース初期設定部分のコード書いたら

[192.168.24.201] Executing task 'provisioning.server.zabbix'
[192.168.24.201] run: mysql -u root -p zabbix < /usr/share/doc/zabbix-server-mysql-*/create/data.sql
[192.168.24.201] out: Enter password: 
[192.168.24.201] out: ERROR 1146 (42S02) at line 2: Table 'zabbix.hosts' doesn't exist
[192.168.24.201] out: 

テーブルがない.
"schema.sql"にテーブル情報を全部詰め込んでいるみたいなので.

# データベース初期設定
path_to_init_sql = "/usr/share/doc/zabbix-server-mysql-*/create/"
for file_name in ["schema.sql", "images.sql", "data.sql", ]:
    run("mysql -u root -p zabbix < "+path_to_init_sql+file_name)

schema.sql → images.sql → data.sqlの順でインポートを行いましょう.

ちなみにschema.sql → data.sqlだとdata,sqlのインポート時に

[192.168.24.201] run: mysql -u root -p zabbix < /usr/share/doc/zabbix-server-mysql-*/create/data.sql
[192.168.24.201] out: Enter password: 
[192.168.24.201] out: ERROR 1452 (23000) at line 2989: Cannot add or update a child row: a foreign key constraint fails (`zabbix`.`sysmaps_elements`, CONSTRAINT `c_sysmaps_elements_2` FOREIGN KEY (`iconid_off`) REFERENCES `images` (`imageid`))
[192.168.24.201] out: 

解説サイトのとおりの順番でやらなかったせいでちょっと悩んだ話。