Hauptmenü

Installationsroutine legt eine leere Datenbank an

Begonnen von smguenther, 08.01.2020 10:42:23

⏪ vorheriges - nächstes ⏩

smguenther

Hallo,
gemäß der Anleitung https://forum.kixdesk.com/index.php?topic=3364.0 habe ich auf einem Ubuntu 18.04. ein KIX 17.9.1 mit MySQL installiert, die Installation erfolgte ohne Fehlermeldung.

Eine Anmeldung ab Webinterface schlug jedoch fehl, der Logdatei /var/log/apache2/error.log konnte ich entnehmen, dass zwar die DB kix17 angelegt wurde, diese jedoch keine Tabellen enthielt.

Ich habe dies dann mit dem folgenden Befehl nachgeholt:
sudo -u www-data /opt/kix/bin/kix.Console.pl Dev::Tools::Database::XMLExecute /opt/kix/scripts/database/kix-schema.xml

Da dieser Befehl meinem Verständnis nach nur die Struktur angelegt wird und damit zum Beispiel auch die Anmeldedaten für root@localhost fehlen, wollte ich diese mit dem nächsten Befehl anlegen:
sudo -u www-data /opt/kix/bin/kix.Console.pl Dev::Tools::Database::XMLExecute /opt/kix/scripts/database/kix-initial_insert.xml

Hier kassiere ich jedoch eine Reihe von Fehlermeldungen:
INSERT INTO valid (id, name, create_by, create_time, change_by, change_time)
    VALUES
    (1, 'valid', 1, '2020-01-08 09:30:43', 1, '2020-01-08 09:30:43')
[Wed Jan  8 09:30:43 2020] kix.Console.pl: DBD::mysql::db do failed: Cannot add or update a child row: a foreign key constraint fails (`kix17`.`valid`, CONSTRAINT `FK_valid_create_by_id` FOREIGN KEY (`create_by`) REFERENCES `users` (`id`)) at /opt/kix17/Kernel/System/DB.pm line 466.
ERROR: kix.Console.pl-Dev::Tools::Database::XMLExecute-17 Perl: 5.26.1 OS: linux Time: Wed Jan  8 09:30:43 2020

Message: Cannot add or update a child row: a foreign key constraint fails (`kix17`.`valid`, CONSTRAINT `FK_valid_create_by_id` FOREIGN KEY (`create_by`) REFERENCES `users` (`id`)), SQL: 'INSERT INTO valid (id, name, create_by, create_time, change_by, change_time)
    VALUES
    (1, 'valid', 1, '2020-01-08 09:30:43', 1, '2020-01-08 09:30:43')'

Traceback (11082):
   Module: Kernel::System::Console::Command::Dev::Tools::Database::XMLExecute::Run Line: 92
   Module: (eval) Line: 464
   Module: Kernel::System::Console::BaseCommand::Execute Line: 458
   Module: Kernel::System::Console::InterfaceConsole::Run Line: 88
   Module: /opt/kix/bin/kix.Console.pl Line: 29

Error: Database action failed. Exiting.


Zudem wundern mich die folgenden Zeilen in /opt/kix17/var/log/kix.log.2020-01:
[Wed Jan  8 09:34:11 2020][Error][Kernel::System::DB::Prepare][669] Access denied for user 'root'@'localhost'
[Wed Jan  8 09:34:11 2020][Error][Kernel::System::DB::Ping][1642] Access denied for user 'root'@'localhost'
[Wed Jan  8 09:34:12 2020][Error][Kernel::System::DB::Ping][1642] Access denied for user 'root'@'localhost'
[Wed Jan  8 09:34:15 2020][Error][Kernel::System::DB::new][136] Unknown database type! Set option Database::Type in Kernel/Config.pm to (mysql|postgresql|oracle|db2|mssql).
[Wed Jan  8 09:34:15 2020][Error][Kernel::System::ObjectManager::_DieWithError][577] Kernel::System::Daemon::DaemonModules::SchedulerFutureTaskManager depends on Kernel::System::DB, but the constructor of Kernel::System::DB returned undef.


In  /opt/kix17/Kernel/Config.pm steht folgendes:
sub Load {
    my $Self = shift;
    $Self->{DatabaseHost} = 'localhost';
    $Self->{Database} = 'kix17';
    $Self->{DatabaseUser} = 'kix';
    $Self->{DatabasePw} = 'xxxxxxx';
    $Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";
    $Self->{CheckMXRecord} = 0;
    $Self->{FQDN} = 'kix.in-put.de';
}


Warum der Hinweis auf Unknown database type und warum eine Anmeldung als root, wenn in der Konfigurationsdatei ein anderer Benutzer steht, den ich auch während der Installation mittels KIXMYSQL_USER übergeben habe?

Danke für jeden Tipp/Hinweis,

Stefan


Richard Leis

Hallo Stefan,

hast du den gesamten Installationsvorgang als Root-User ausgeführt? Das ist nämlich entscheidend.
Wenn Du die Daten zum MySQL-User als Normal-User exportierst und anschließend mit sudo die Installation ausführst, kann bei der Installation nicht mehr auf die exportierten Variablen zugegriffen werden, weil diese nur dem Normal-User zur Verfügung stehen.
Das könnte die Ursache für Deine Probleme mit der DB sein.

Es wird für die Installation von KIX auch ein eigenes Install-Log unter /opt/kix/var/log/ angelegt.
Dort kannst Du nach weiteren Informationen zu aufgetretenen Installationsproblemen suchen.

Viele Grüße

Richard