Seite 1 von 1
Datenbankerzeugung auf dem MySQL-Server ist fehlgeschlagen
Verfasst: Mi 2. Nov 2005, 10:52
von phpchris
Hallo, ich habe beim Setup ein Problem.
Ich versuche, die Version 4.6.1 auf einem Webserver zu installieren und habe soweit alles korrekt ausgefüllt.
Nun sagt mir das setup folgende Meldung:
Code: Alles auswählen
Setup hat versucht, eine Testdatenbank zu erzeugen, jedoch ist die Datenbankerzeugung fehlgeschlagen. Bitte vergeben Sie passende Berechtigungen für den eingegebenen Datenbankbenutzer, fragen Sie ihre Administrator, oder erstellen Sie die Datenbank händisch.
Der DB-User hat alle Rechte auf seiner Datenbank, darf aber keine weitere Erzeugen.
Wie installiere ich dennoch?
Verfasst: Mi 2. Nov 2005, 11:10
von emergence
hmm... bricht das setup dann ab ?
Verfasst: Mi 2. Nov 2005, 11:10
von timo
ist die Datenbank, die du angegeben hast, schon angelegt?
Verfasst: Mi 2. Nov 2005, 11:16
von phpchris
Ja, das Setup bietet mir nicht mehr die Möglichkeit, weiter zu gehen.
Und ja, die DB ist bereits angelegt.
Verfasst: Mi 2. Nov 2005, 11:18
von rezeptionist
hatte gestern auch das problem lege mal nen 2ten datenbanknutzer an und versuchs mit dem bei mir hat es geklappt
Verfasst: Mi 2. Nov 2005, 11:20
von phpchris
Kann ich leider nicht, ist ein Hosting-Paket, bei dem nur der User geht.
Ins phpMyAdmin komme ich mit den Zugangsdaten und die DB gibt es da auch schon.
Die DB heisst genauso wie der User, vielleicht hakt da was?
Verfasst: Mi 2. Nov 2005, 11:35
von timo
Ist wohl in der Tat ein Bug, wird noch gelöst
Verfasst: Mi 2. Nov 2005, 11:52
von phpchris
Kann ich das irgendwo umgehen...
Verfasst: Mi 2. Nov 2005, 12:34
von phpchris
Ich möchte nicht drängeln, aber mein Kunde wartet...
Verfasst: Mi 2. Nov 2005, 12:44
von timo
Nicht ohne weiteres
ich kann da auch nichts dafür, daß dein Kunde drängelt

Verfasst: Mi 2. Nov 2005, 12:55
von phpchris
timo hat geschrieben:Nicht ohne weiteres
ich kann da auch nichts dafür, daß dein Kunde drängelt

Ne, schon klar.
Ich schau mal ins Setup...
Verfasst: Mi 2. Nov 2005, 13:36
von phpchris
Ich konnte den Fehler umgehen, indem ich in /setup/lib/function.mysql.php die Funktion checkMySQLDatabaseCreation geändert habe.
Nun versucht er nicht mehr, eine Datenbank anzulegen, sondern führt ein einfaches SELECT USER() aus und gibt somit TRUE zurück.
Danach klappte die Installation perfekt!
Code: Alles auswählen
function checkMySQLDatabaseCreation ($db, $database)
{
if (checkMySQLDatabaseExists($db, $database))
{
return true;
} else {
$db->query("SELECT USER()");
if ($db->Errno != 0)
{
return false;
} else {
return true;
}
}
}
Verfasst: Mi 2. Nov 2005, 14:51
von thomas_e
Hatte das gleiche Problem.
hosteurope.de WebPack M
http://etService.de/phpinfo.php
mfg
thomas_e
Verfasst: Mi 2. Nov 2005, 16:29
von thomas_e
sodele, habs bissl genauer...
Bei mir tut der "USE $database" net, weil der Name der DB im Format db1234567-1 aufgebaut ist. Das Minuszeichen im Namen ist zwar mysql-konform, aber im phpmyadmin gibts damit auch ne Fehlermeldung.
Deshalb gibt die Funktion checkMySQLDatabaseUse immer false zurück.
function checkMySQLDatabaseUse ($db, $database)
{
$db->query("USE $database");
if ($db->Errno == 0)
{
return true;
} else {
return false;
}
}
Der USE-Befehl wird aber später nie verwendet, somit läuft das setup hinterher korrekt
Hab einfach im else-Zweig aus dem "false" ein "true" gemacht, dann passts.
mfg
thomas_e
Verfasst: Fr 4. Nov 2005, 14:10
von timo
Ist in der Tat ein Bug (wobei eher ein MySQL-Bug)
und zwar muß die Funktion checkMySQLDatabaseUse mit dieser ausgetauscht werden:
Code: Alles auswählen
function checkMySQLDatabaseUse ($db, $database)
{
if (@mysql_select_db($database, $db->Link_ID))
{
return true;
} else {
return false;
}
}
Ist gelöst für die nächste Version.