ksaitoの日記

日々試したことの覚え書き

zabbix 2.0にデータベースのアップグレードに失敗

このあいだの続きです。
Zabbix 1.8のデータベースをアップグレードしましたが失敗しました。
どうやらアップデートSQLのバグのようです。

手順通りアップグレードする

アップデート用のSQLは、データベース毎に用意されています。
Ubuntu 12.04の最新版からZabbix-2.0.1へのアップグレードです。

$ dpkg -l zabbix-server-mysql | grep \^ii
ii  zabbix-server-mysql                  1:1.8.11-1                      network monitoring solution - server (using MySQL)
$ cd ~/pub/zabbix/zabbix-2.0.1/upgrades/dbpatches/2.0/mysql/
$ mysql -u zabbix -p zabbix < patch.sql 
Enter password: 
ERROR 1452 (23000) at line 104: Cannot add or update a child row: a foreign key constraint fails (`zabbix`.<result 2 when explaining filename '#sql-42e_4e'>, CONSTRAINT `c_config_2` FOREIGN KEY (`discovery_groupid`) REFERENCES `groups` (`groupid`))
$ 

しばらく様子見

ZBX-5125にバグが報告されていました。
7/11時点で、テスト中のようです。
テスト中のコードをチェックアウトしてみましたが、アップグレード用のSQLが105個もありました。
とりあえず、バックアップからデータベースを戻して、全部当ててみてダメなら、しばらく様子見です。

$ svn co svn://svn.zabbix.com/branches/dev/ZBX-5125 
$ cd ZBX-5125/upgrades/dbpatches/2.0/mysql/patch/
$ ls -l *.sql | wc -l
105
$