Seite 1 von 1
Verfasst: Mi 30. Nov 2005, 17:34
von DerEineDa
Ich bekomme eine ähnliche Fehlermeldung:
Kann keine Tabellen in der gewählten MySQL-Datenbank anlegen
Setup hat versucht, eine Testtabelle in der Datenbank db1028779-Content anzulegen und ist gescheitert. Bitte weisen Sie ihrem Datenbankbenutzer entsprechende Rechte zu, oder fragen Sie einen Administrator.
Bin aber bei Hosteurope und die Zugangsdaten sind auch 100%ig richtig. Gibt es keinen Workaround?
Verfasst: Mi 30. Nov 2005, 20:02
von Halchteranerin
DerEineDa hat geschrieben:Bin aber bei Hosteurope
Dann solltest du nicht in einem all-inkl-Thread posten, denn das ist kein Provider-Problem. Dein Problem ist auch irgendwo im Forum beschrieben und ruehrt daher, weil die Datenbanken bei Hosteurope einen Bindestrich im Namen haben. Such und du wirst finden ... Ich weiss naemlich nicht mehr, ob man da irgendwie Abhilfe schaffen konnte, oder ob du da bis zur naechsten Contenido-Version warten musst.
Verfasst: Mi 30. Nov 2005, 20:14
von DerEineDa
Dann solltest du nicht in einem all-inkl-Thread posten, denn das ist kein Provider-Problem.
Konnte ich ja nicht ahnen
Aber danke, ich bemühe mal die Suchfunktion. Wäre aber echt übel wenn das nicht klappt nur weil da n Bindestrich im Datenbanknamen ist.
Verfasst: Fr 2. Dez 2005, 22:28
von Louis
Bevor ihr euch jetzt hauen wollt hier der Link
http://www.contenido.de/forum/viewtopic.php?t=10069
Es geht definitiv nicht, die 4.6.2 läßt sich bei HostEurope auf den neuen Webpacks (ab 13.12.2004) nicht ohne manuellen Aufwand installieren - auf den alten geht es soweit ich weiß.
PS: In dem gelinkten Thread steht auch nochmal ganz klar, dass es bei allinkl von Server zu Server unterschiedlich ist, offensichtlich läuft nicht überall die gleiche SQL-Version.
Verfasst: Fr 2. Dez 2005, 22:38
von DerEineDa
Danke für den Link, aber ich habe es bereits gelöst indem ich die entsprechende PHP-Datei selber umgeschrieben habe. Wenn's auf Hosteurope erstmal installiert ist, dann klappt das ohne Probleme.
Verfasst: Fr 2. Dez 2005, 22:42
von Louis
DerEineDa hat geschrieben:Danke für den Link, aber ich habe es bereits gelöst indem ich die entsprechende PHP-Datei selber umgeschrieben habe. Wenn's auf Hosteurope erstmal installiert ist, dann klappt das ohne Probleme.
War auch mehr der Vollständigkeit halber
Kannst du die genaue Lösung hier mal posten?
Ich wollte nämlich gerade auch mein neues WP auf 4.6 ziehen und bin vorläufig erstmal gescheitert.....
Verfasst: Sa 3. Dez 2005, 00:06
von DerEineDa
Nun habe ich voreilig den Setup-Ordner nach der Installation gelöscht, und damit auch meine veränderte Datei
Im Grunde habe ich aber einfach alle MySQL-Checks deaktiviert, indem ich bei den entsprechenden Funktionen direkt TRUE zurückgeben lasse. Ich habe das mal schnell nochmal gemacht und das sollte so klappen, auch wenn ich es nicht getestet habe. Da ich hier im Forum keine Dateien anhängen kann, habe ich es auch mal schnell auf den Webspace bei Hosteurope geladen, wo auch Contenido läuft. Ich werde die Datei aber nicht ewig online lassen
http://incotrain.he-hosting.de/contenid ... .mysql.zip
Wie gesagt habe ich alle Überprüfungen ausgeschaltet, also bitte unbedingt selber checken, ob alle Einstellungen richtig sind!
Die PHP-Datei darin bitte in den Ordner /setup/lib/ kopieren und die alte Datei überschreiben (bei Bedarf vorher Backup machen).
Verfasst: Sa 3. Dez 2005, 07:53
von Halchteranerin
ich habe das Thema vom anderen getrennt, da es beim besten Willen nicht zur Ueberschrift mit all-inkl passte!
Verfasst: Sa 3. Dez 2005, 11:11
von Louis
Halchteranerin hat geschrieben:ich habe das Thema vom anderen getrennt, da es beim besten Willen nicht zur Ueberschrift mit all-inkl passte!
Stimmt.
Habe bei HE im Forum noch einen Lösungsansatz gefunden:
tk hat geschrieben:Einfach in der Datei setup/lib/functions.mysql.php in den Zeilen 66 und 91 Backticks jeweils um die Variable $database ergänzen, also '$db->query("CREATE DATABASE `$database`");' bzw. '$db->query("USE `$database`");' schreiben und schon läuft das Setup anstandslos durch.
@DerEineDa: danke für die Datei, ich probier's mal aus.
Verfasst: So 4. Dez 2005, 11:49
von Louis
Soooo, etwas später als erwartet die Testergebnisse:
[edit]
Der Tip aus dem HE-Forum hat im ersten Anlauf nicht geklappt, später aber doch - keine Ahnung warum, muss wohl am Wetter liegen.....
So sieht die setup/lib/functions.mysql.php Zeile 59-99 bei mir jetzt aus
Code: Alles auswählen
function checkMySQLDatabaseCreation ($db, $database)
{
if (checkMySQLDatabaseExists($db, $database))
{
return true;
} else {
$db->query("CREATE DATABASE `$database`");
if ($db->Errno != 0)
{
return false;
} else {
return true;
}
}
}
function checkMySQLDatabaseExists ($db, $database)
{
$db->query("SHOW DATABASES LIKE '$database'");
if ($db->next_record())
{
return true;
} else {
return false;
}
}
function checkMySQLDatabaseUse ($db, $database)
{
$db->query("USE `$database`");
if ($db->Errno == 0)
{
return true;
} else {
return false;
}
}
Wer sich traut die ganzen DB-Prüfungen zu umgehen kann natürlich auch alle Prüfungen pauschal auf TRUE setzen, dann sieht die Datei wie folgt aus (Änderungen von DerEineDa):
[/edit]
Code: Alles auswählen
<?php
function hasMySQLExtension ()
{
if (isPHPExtensionLoaded("mysql") == E_EXTENSION_AVAILABLE)
{
return true;
} else {
return false;
}
}
function hasMySQLiExtension ()
{
if (isPHPExtensionLoaded("mysqli") == E_EXTENSION_AVAILABLE)
{
return true;
} else {
return false;
}
}
function doMySQLConnect ($host, $username, $password)
{
$db = new DB_Contenido($host, "", $username, $password);
if ($db->connect() == 0)
{
return array($db, false);
} else {
return array($db, true);
}
}
function fetchMySQLVersion ($db)
{
$db->query("SELECT VERSION()");
if ($db->next_record())
{
return $db->f(0);
} else {
return false;
}
}
function fetchMySQLUser ($db)
{
$db->query("SELECT USER()");
if ($db->next_record())
{
return ($db->f(0));
} else {
return false;
}
}
function checkMySQLDatabaseCreation ($db, $database)
{
return true;
}
function checkMySQLDatabaseExists ($db, $database)
{
return true;
}
function checkMySQLDatabaseUse ($db, $database)
{
return true;
}
function checkMySQLTableCreation ($db, $database, $table)
{
return true;
}
function checkMySQLLockTable ($db, $database, $table)
{
return true;
}
function checkMySQLUnlockTables ($db, $database)
{
return true;
}
function checkMySQLDropTable ($db, $database, $table)
{
return true;
}
function checkMySQLDropDatabase ($db, $database)
{
return true;
}
function fetchMySQLStorageEngines ($db)
{
$db->query("SHOW ENGINES");
$engines = array();
while ($db->next_record())
{
$engines[] = $db->f(0);
}
return ($engines);
}
?>
Verfasst: Mo 5. Dez 2005, 21:34
von dagas
Hallo Louis
hatte auch Probleme mit der MySQL installation(Bindesstrich). Habe dein Code ausprobiert und es funktioniert prima.
THX für den Tip
DAGAS