Seite 1 von 1

Connect per `mysql' möglich, trotzdem "Could not connec

Verfasst: 09.03.2004 20:46
von rapha
Hallo Zusammen!

Ich versuche hier gerade phpBB 2.0.6 (de) zum laufen zu bringen. Auf meinem Server kommen OpenBSD 3, MySQL 3.23.57 sowie PHP 4.3.3 zum Einsatz. Es läuft ausserdem phpMyAdmin ohne Probleme, und das folgende funktioniert:

Code: Alles auswählen

# mysql -u phpbb -h servername -p
Enter Password: ***
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14 to server version: 3.23.57
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql> use phpbb

Database changed
mysql>  create table `test` ( `test` varchar(5) not null );
Query OK, 0 rows affected (0.12 sec)

mysql>
Deshalb verstehe ich nicht, warum phpBB (bei der Installation schon :-( ) mir diese Fehlermeldung bringt:
phpBB : Kritischer Fehler

Could not connect to the database
Ich wäre für alle Hinweise und/oder Tipps sehr dankbar...

Mit freundlichen Grüßen aus dem Schwarzwald,
Raphael

Verfasst: 09.03.2004 21:00
von Acid
Schonmal die im Installationsformular angegebenen Zugangsdaten für die Datenbank mit denen in der config.inc.php von phpmyadmin verglichen !?

Verfasst: 09.03.2004 21:17
von rapha
Ja... hab schon alles mögliche ausprobiert.
Die config.inc.php von phpMyAdmin sieht auszugsweise so aus:

Code: Alles auswählen

$cfg['PmaAbsoluteUri'] = 'http://servername/phpmyadmin/';
$cfg['Servers'][$i]['host']          = '127.0.0.1'; // MySQL hostname or IP address
$cfg['Servers'][$i]['auth_type']     = 'http';      // Authentication method 
$cfg['Servers'][$i]['user']          = 'root';      // MySQL user
$cfg['Servers'][$i]['password']      = '';          // (Wird nicht benötigt mit auth_type http)
An Hostnamen habe ich ausprobiert: 127.0.0.1, localhost, servername_im_netz.
Mittlerweile ist sogar ein Loch in der Firewall auf Port 3306, das hat aber (wie erwartet) auch nichts gebracht). Ich raffs echt nicht mehr :-/

Verfasst: 09.03.2004 22:19
von Mister_X
KB:dbinformer
Kannst ja damit mal ausprobieren, ob du auf die Datenbank zugreifen kannst. Damit kannst du auch schnell alle Varianten durchprobieren ;)
Du benutzt also den gleichen Benuzter und das gleiche Passwort wie bei phpMyAdmin?

Verfasst: 10.03.2004 00:26
von rapha
There we go!

Code: Alles auswählen

You have not established a connection to MySQL 3.x.
ERROR: Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2)
But why? That file is there and has correct permissions... ?

Verfasst: 10.03.2004 00:46
von Mister_X
But why are you talking English here? ;)
Ich rede einfach mal deutsch weiter, bevor ich mein eingerostetes Englisch präsentiere ;)
Du hast also unter http://servername/phpmyadmin/ phpMyAdmin installiert was problemlos auf die MySQL Datenbank zugreifen kann?
Du versuchst gerade unter http://servername/xxx/ ein phpBB2 Forum zu installieren?
Unter Database Server Hostname / DSN: gibst du 127.0.0.1 ein?
Unter Your Database Name: gibst du den Namen einer Datenbank ein, die du bereits mit einem anderen Tool erstellt hast (Groß-/Kleinschreibung beachtet?)?
Unter Benutzer und Passwort gibst du die Daten ein die du bei phpMyAdmin im aufpoppenden Passwortdialog angibst?

Verfasst: 10.03.2004 01:11
von rapha
> But why are you talking English here? ;)
Örm sorry... die Fehlermeldung war Englisch und es ist so ungewohnt sich im Netz auf Deutsch zu bewegen :-). Macht der Gewohnheit.

> Du hast also unter http://servername/phpmyadmin/ phpMyAdmin installiert was problemlos auf die MySQL Datenbank zugreifen kann?
Korrekt.

> Du versuchst gerade unter http://servername/xxx/ ein phpBB2 Forum zu installieren?
Ebenfalls Korrekt.

> Unter Database Server Hostname / DSN: gibst du 127.0.0.1 ein?
Yup.

> Unter Your Database Name: gibst du den Namen einer Datenbank ein, die du bereits mit einem anderen Tool erstellt hast (Groß-/Kleinschreibung beachtet?)?
Ja und ja. Das Tool ist in dem Fall phpMyAdmin. Ich habe allerdings die Datenbank auch schon gelöscht und von Hand neu angelegt, da ich phpMyAdmin nicht getraut habe. Wars aber nicht.

> Unter Benutzer und Passwort gibst du die Daten ein die du bei phpMyAdmin im aufpoppenden Passwortdialog angibst?
Nein. Bei phpMyAdmin benutze ich den MySQL "root"-Benutzer. Das ist allerdings nicht der Grund. Der phpbb-Benutzer funktioniert (verifiziert mit dem mysql-commandline-client), und dbinformer.php spuckt immernoch dieselbe Fehlermeldung aus, auch wenn ich "root" benutze.

Jetzt habe ich allerdings was neues rausgefunden: Wenn ich in phpMyAdmin "localhost" anstatt "127.0.0.1" benutze, kommt dieselbe Fehlermeldung ("Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2)"). TCP funktioniert also, UNIX sockets dagegen nicht. Wie kriege ich also entweder) UNIX sockets funktionieren oder) erzähle phpBB dass es TCP benutzen muss?

Hahaa!

Verfasst: 10.03.2004 10:09
von rapha
Es funktioniert! Das Problem war mehr oder weniger ein OpenBSD-spezifisches, da Apache unter OpenBSD defaultmässig in einem chroot-Jail läuft. Der Webserver kam also nicht an den MySQL-Socket ran - klar.

Das Problem lässt sich umgehen, indem man in /usr/local/bin/safe_mysqld (ist ein Shellscript) den Pfad zur mysql.sock so abändert, dass sie innerhalb des chroot-Jails angelegt wird. In meinem Beispiel wäre das /var/www, also habe ich den Eintrag auf /var/www/mysql/mysql.sock geändert. Dann muss noch in der php.ini die MySQL-Socket-Einstellung auf /mysql/mysql.sock gesetzt werden, Webserver und Datenbank neustarten, das wars.

Trotzdem vielen Dank für Eure Hilfe!

- Raphael