{
my $db = ${'zabbix-server'}{'DbName'} || 'zabbixdb';
my $user = ${'zabbix-server'}{'DbUser'} || 'zabbixuser';
my $pass = ${'zabbix-server'}{'DbPassword'} || 'secret';

my $schema = `rpm -qd zabbix-server-mysql | grep create`;
chomp $schema;
my $curcharset=  ( -d "/var/lib/mysql/$db" ) ? `echo 'show variables like "character_set_database";'|mysql $db|grep character_set_database|sed -r  's/^character_set_database\\s*([a-zA-Z0-9_-]+)/\\1/'` : "utf8";
chomp $curcharset;
my $adminpass= ${'zabbix-server'}{'AdminPassword'} || 'zabbix';

$OUT .= <<"END";
#! /bin/sh
if [ -d /var/lib/mysql/$db ]; then

	# check if utf8
        if [[ "$curcharset" != "utf8" ]] ;then
                echo "ALTER DATABASE $db CHARACTER SET utf8 COLLATE utf8_bin;" |/usr/bin/mysql
                echo 'ALTER TABLE `$db`.`problem_tag` DROP INDEX `problem_tag_1`, ADD INDEX `problem_tag_1` (`eventid`, `tag` (100), `value`(100));' |mysql
                mysql --batch --skip-column-names --execute 'select concat("alter table ",TABLE_SCHEMA,".",TABLE_NAME," CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;") from information_schema.TABLES where TABLE_SCHEMA="$db"' |mysql
        fi
	for P in \$(rpm -qd zabbix-server-mysql | grep dbpatch | grep mysql); do
		/usr/bin/mysql $db < \$P
	done
else
	echo "CREATE DATABASE $db CHARACTER SET utf8 COLLATE utf8_bin;" | /usr/bin/mysql
	/usr/bin/gunzip < $schema |     /usr/bin/mysql $db

fi

/usr/bin/mysql <<EOF
USE $db;
update users set passwd=md5('$adminpass') where alias='Admin' and passwd=md5('zabbix');
EOF


/usr/bin/mysql <<EOF
USE mysql;

REPLACE INTO user (
                     host,
                     user,
                     password)
            VALUES (
                     'localhost',
                     '${'zabbix-server'}{DbUser}',
                     PASSWORD ('${'zabbix-server'}{DbPassword}'));


REPLACE INTO db (
                   host,
                   db,
                   user,
                   select_priv, insert_priv, update_priv, delete_priv,
                   create_priv, alter_priv, index_priv, drop_priv, create_tmp_table_priv,
                   grant_priv, lock_tables_priv, references_priv) 
          VALUES (
                   'localhost',
                   '${'zabbix-server'}{DbName}',
                   '${'zabbix-server'}{DbUser}',
                   'Y', 'Y', 'Y', 'Y',
                   'Y', 'Y', 'Y', 'Y', 'Y',
                   'N', 'Y', 'Y');

FLUSH PRIVILEGES;

USE ${'zabbix-server'}{DbName};

INSERT IGNORE INTO media_type (
		mediatypeid,
		type, description,
		smtp_server,
		smtp_helo,
		smtp_email,
		exec_path,
		gsm_modem,
		username,
		passwd) 
	VALUES(
		4,
		1,
		'xmpp',
		'',
		'',
		'',
		'sendxmpp',
		'',
		'',
		'');

EOF
END
}
