Beiträge: 5
Themen: 1
Registriert seit: 10.11.2008
Salvete!
Bei einer Neuinstallation kann das Installationsskript sich nicht bei der Datenbank anmelden. Das liegt höchstwahrscheinlich an der Art, wie man bei meinem Provider die Datenbank ansprechen muß, denn lokal klappte es.
Andere hatten das Problem offenbar auch schon ( https://www.mybb.de/forum/archive/index....-5284.html), aber leider ohne abschließende Antwort.
Datenbank ist MySQL 5.0.*. Via Telnet loggt man sich so ein:
mysql -h rdbms -u U123456 -p
und dann das Paßwort. Die zugehörige Datenbank wird, wie es scheint, über den Usernamen (-u) gefunden, denn man gibt sie nicht explizit an. So funktioniert der Login auch.
Hat jemand eine Idee, wie ich das Problem umgehen kann? Das Installationsskript ein bißchen abändern? Aber wo und wie?
Wenn alle Stricke reißen, lege ich die Tabellen auch manuell an, sofern es dafür ein Skript gibt. Aber da ich dann auch die Daten manuell hineinwuchten müßte und definitiv schon zu oft alles mögliche manuell gemacht habe, würde ich das gern vermeiden. Beim Blog und Wikimedia ging es schließlich auch irgendwie...
Vielen Dank schon mal!
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
10.11.2008, 22:10
(Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2008, 22:13 von frostschutz.)
Telnet, meinst du damit eine SSH-Shell auf einem Linux-Server?
Falls ja, schau mal ob du eine ~/.my.cnf hast in der dein Datenbankname steht. Denn normal muss man den immer angeben, wenn das bei dir nicht angegeben werden muss, steht es wohl im MySQL Option File ~/.my.cnf. Falls das kein Unix-Server ist sondern Windows basiert, ich weiß leider nicht wo so ein Option File unter Windows zu suchen ist.
Wenn du schon andere PHP Scripte installiert hast - was verwenden die denn als Datenbanknamen? Bzw. DB1234 klappt nicht?
Beiträge: 5
Themen: 1
Registriert seit: 10.11.2008
Danke für die schnelle Antwort!
Ein .my.cnf gibt es nicht. Aber wie das alles beim Provider konfiguriert ist, ist sowieso etwas undurchsichtig. Falls es ein regelrechtes home-Verzeichnis gibt, komme ich nicht dran, sondern nur ans htdocs. Das ist bei meinem lokalen Ausprobier-Webserver natürlich ganz anders. Ach ja: Der Provider hat ein Unix am laufen.
Andere PHP-Installationsskripte kamen damit klar, wenn ich ihnen hostname, user und Paßwort vor die Füße warf.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
10.11.2008, 23:12
(Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2008, 23:13 von Jockl.)
Ha, kann es sein, dass es sich um Strato handelt?
damit hatte ich auch schon meine Probleme
(10.11.2008, 22:04)bronzino schrieb: mysql -h rdbms -u U123456 -p
und dann das Paßwort. Die zugehörige Datenbank wird, wie es scheint, über den Usernamen (-u) gefunden, denn man gibt sie nicht explizit an.
Hast Du Dir mal die FAQs von Strato angesehen? Hier z.B. der Artikel_ID 471:
Zitat:mysql -h rdbms -u Benutzername -p DB00
(wobei Sie "Benutzername" durch Ihren Datenbank-Benutzernamen und die 00 hinter "DB" durch die Nummer Ihrer Datenbank, die Ihnen beim Anlegen zugeteilt wurde, ersetzen.)
vielleicht hilft Dir das weiter.
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
Kannst du in dem Telnet beliebige Kommandos eingeben oder funktionieren da nur bestimmte wie mysql?
Ansonsten hättest du mal 'strace mysql -bla...' ausprobieren können. Falls der Server strace kennt sollte das Licht ins Dunkel bringen, wo sich das mysql-Kommando den Datenbanknamen herbeschafft.
Beiträge: 5
Themen: 1
Registriert seit: 10.11.2008
(10.11.2008, 23:12)Jockl schrieb: Ha, kann es sein, dass es sich um Strato handelt? Na, was denkst Du, warum ich einen Beitrag eines anderen Strato-geschädigten verlinkt habe?
Zitat:mysql -h rdbms -u Benutzername -p DB00
(wobei Sie "Benutzername" durch Ihren Datenbank-Benutzernamen und die 00 hinter "DB" durch die Nummer Ihrer Datenbank, die Ihnen beim Anlegen zugeteilt wurde, ersetzen.)
*ächz* Ja klar, da habe ich Schmarrn geschrieben. Aber ich will mich ja auch gar nicht via Telnet und mysql einloggen (wie gesagt, das funktioniert prächtig), sondern das Installationsskript will sich auf mir unbekannte Art einloggen.
Bisher hat sich noch jedes PHP-Skript, das ich installiert habe, anmelden können. Daher nochmal zu meiner Ursprungsfrage:
Hat jemand eine Idee, wie ich das Problem umgehen kann? Das Installationsskript ein bißchen abändern? Aber wo und wie? Wenn alle Stricke reißen, lege ich die Tabellen auch manuell an, sofern es dafür ein Skript gibt.
@frostschutz: Jockl hat recht, ich muß ihn mit angeben. Mache ich beim Skript ja auch. Aber was macht das Skript dann damit?
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Kann es sein, dass Du evtl. in der config.php einen Dreher in diesen beiden Zeilen drin hast?
Code: $config['username'] = 'Uxxxxxx';
$config['database'] = 'DBxxxxx';
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
11.11.2008, 12:25
(Dieser Beitrag wurde zuletzt bearbeitet: 11.11.2008, 12:26 von frostschutz.)
Du kannst in der install/index.php nachschauen wie er sich zur Datenbank verbindet, in der funktion create_tables()
Da geschieht aber wirklich nichts besonderes, er macht ein DB_MySQL Objekt (bei MySQL), setzt dort die von dir angegebenen Daten (bzw. falls nicht angegeben Default-Werte) rein, also dbhost (localhost), dbuser, dbpass, dbname.
Du kannst dir ja in Zeile 1232 ein print einbauen:
Code: print "<p>hostname: '" . $config['dbhost'] . "'<br>"
. "username: '" . $config['dbuser'] . "'<br>"
. "password: '" . $config['dbpass'] . "'<br>"
. "database: '" . $config['dbname'] . "'<br>"
. "encoding: '" . $config['encoding'] . "'</p>";
das sollte dir dann deine zugangsdaten richtig ausgeben (gross/kleinschreibung, keine zusätzlichen leerzeichen, usw. auch beachten)
Beiträge: 5
Themen: 1
Registriert seit: 10.11.2008
Danke für Eure Geduld!
Ich hab's jetzt!
Unter einem Wust von Einträgen zu einem scheinbar völlig anderen Thema fand ich im englischprachigen Forum den Hinweis auf Inkompatibilitäten zwischen PHP- und MySQL-Versionen.
Bei Strato kann man, wenn der Vertrag alt genug ist, gleichzeitig Datenbanken verschiedener Versionen haben und verschiedene Versionen von PHP benutzen. Eine neu angelegte Datenbank ist automatisch Version 5.x und benutzt infolgedaher eine andere Paßwort-Verschlüsselungsmethode als einstmals 4.0.x.
Mit dieser neuen Methode kommt PHP4 nicht klar. Das ist aber seltsamerweise das Standard-PHP. Man muß ein bißchen rumtricksen, damit PHP5 verwendet wird. Nämlich im MyBB-Verzeichnis eine .htaccess anlegen und wie folgt reinschreiben:
Code: AddType application/x-httpd-php5 .php .php5
Wie andere PHP-Skripte das machen (bei denen es, wie gesagt, funktionierte), ist mir immer noch schleierhaft. Vielleicht bilden sie die "neue" Verschlüsselungsmethode selber nach. Aber das ist mir jetzt Schnurz.
Nochmal vielen Dank Euch zwei.
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
Oder du hast bei den anderen Scripten (falls die schon länger installiert sind) einfach ne alte Datenbank dran gehabt? Ist aber toll dass das bei dir ja doch irgendwie geht geht. Wir haben hier gerade das Problem bei 1und1 daß die nicht auf PHP5 updaten wollen ohne eine komplette Neuinstallation des VServers (alle Daten futsch). SuSE+Plesk halt.
|