Sie sind nicht angemeldet.

  • »Canc3lL0g0ut« ist der Autor dieses Themas

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

1

Sonntag, 12. Januar 2014, 20:32

Datenbankfehler bei Sourcebans sobald auf extern zugegriffen wird

Hallihallo ihr lieben,

vielleicht ist der Threadtitel unglücklich formuliert aber ich versuche mal gerade zu erklären was mein Problem ist :)

Wir haben 2 Server. Einen auf dem unsere Homepage mit Apache 2.2.22, PHP5 und MySQL Version 5.5.33 läuft. Auf diesem Server ist unsere Homepage www.meineDomain.de verlinkt. So läuft auch alles prima. Da ja nun auf diesem Server Testweise ein CSS Server läuft und damit qasi alles über localhorst läuft ist alles kein problem.

Heute habe ich nun einen neuen Server bestellt über den die CSS Server laufen sollen um unseren vserver mit der Homepage zu entlasten. Habe die Datenbank bzw. den Benutzer für extern freigegeben und auch in der my.cnf die einstellung bind_adress auf 0.0.0.0 eingestellt. Problem ist das wenn ich z. B. Sourcebans aufrufe immer ein Datenbankfehler kommt. Access denied for meinbenutzer@meinedomain.de. Das geile ist ja das unsere Homepage damit auch nicht mehr funktioniert. Ebenfalls Datenbankfehler :( Die Config vom der Databases sieht so aus:

Spoiler Spoiler


"sourcebans"
{
"driver" "default"
"host" "meinedomain.de"
"database" "usr_webxx_xx"
"user" "meinuser"
"pass" "meinpasswort"
//"timeout" "0"
"port" "3306"



Wo liegt der verdammte Fehler? Ich bastel schon seit Stunden an dem Mist :(
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Canc3lL0g0ut« (12. Januar 2014, 21:15) aus folgendem Grund: Noch etwas hinzugefügt


2

Montag, 13. Januar 2014, 00:21

Hallo

Schreib doch mal in der database.cfg und so als Host die IP deiner Domain rein.
So hat es bei mir auch geklappt.
Und bei den driver solltes du mal mysql eintragen.

Greetz
Rechtschreibfehler sind voll normal

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

3

Montag, 13. Januar 2014, 09:30

In IP Adresse ändern ist nicht notwendig, da das Auflösen der DNS funktioniiert. Der Driver default hat die Standardeinstellung mysql.
Da die Fehlermeldung Access denied ausgegeben wird, heißt das:

  • Verbindung kann aufgebaut werden
  • Der Datenbankuser hat über die externe IP keine Zugriffsberechtigung.


Du solltest den DB-User die Berechtigung geben, dass er auch Zugriff von außen erlangt. Das müsste das Wildcard-Zeichen % sein.

  • »Canc3lL0g0ut« ist der Autor dieses Themas

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

4

Montag, 13. Januar 2014, 10:20

Hallo ihr lieben,

@Alchemisten: Ich habs verpeilt, einfach verpeilt. Die Databases ist ja momentan uninteressant da es ja in erster Linie darum geht die Webseite wieder zum laufen zu bekommen.

@Dead_Eye: Ich habe meinem Datenbankuser die berechtigung gegeben (richtig mit %) die Benutzertabellen neu geladen (ich arbeite mit Phpmyadmin in der aktuellsten Version) und anschliessend MySQL neu gestartet. Trotzdem bekomme ich einen Access denied. Ich habe auch schon einen neuen Benutzer angelegt, aber auch das hat nicht funktioniert. ich krieg noch die Krise ... :S: :S:

Meine Vermutung ist ja das ich irgendwo irgend etwas ubersehen habe ... aber ich nicht draufkomme was :(

Also die exakte Fehlermeldung die ich bekomme sieht so aus:

Quellcode

1
2
3
4
5
6
7
8
Warning:  mysql_connect(): Access denied for user 'meinuser'@'localhost' (using password: YES) in /var/www/meineseite/sourcebans/includes/adodb/drivers/adodb-mysql.inc.php on line 358

Access denied for user 'meinuser'@'localhost' (using password: YES) 

SQL Query type: CONNECT
Script: '/sourcebans/index.php'
SQL Query: 127.0.0.1
SQL Params: usr_webxxx_xxx


die config.cfg von Sourcebans sieht so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
/**
 * config.php
 *
 * This file contains all of the configuration for the db
 * that will
 * @author SteamFriends Development Team
 * @version 1.0.0
 * @copyright SteamFriends (www.SteamFriends.com)
 * @package SourceBans
 */
if(!defined('IN_SB')){echo 'You should not be here. Only follow links!';die();}

define('DB_HOST', '127.0.0.1');                     	// The host/ip to your SQL server
define('DB_USER', 'meinuser');                             	// The username to connect with
define('DB_PASS', 'meingeheimespasswort');                                      	// The password
define('DB_NAME', 'usr_webxxx_xxx');                                            	// Database name
define('DB_PREFIX', 'sb');                                  	// The table prefix for SourceBans
define('DB_PORT','3306');                                                   	// The SQL port (Default: 3306)

//define('DEVELOPER_MODE', true);                   	// Use if you want to show debugmessages
//define('SB_MEM', '128M');                         	// Override php memory limit, if isn't enough (Banlist is $
?>


Bei DB_HOST ist Wurscht was ich eingebe, localhost, 127.0.0.1 was ja das gleiche ist, die Domain oder die IP vom Server ... kommt immer diese Fehlermeldung.
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Canc3lL0g0ut« (13. Januar 2014, 10:35)


  • »Canc3lL0g0ut« ist der Autor dieses Themas

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

5

Montag, 13. Januar 2014, 10:50

Mir ist aufgefallen, das sich unsere Sourcebans Seite nicht mal per Localhost aufrufen lässt. Denn Webseite und MySQL laufen ja auf ein und dem selben Server. Sollte also kein Problem sein das in der Config als Host localhost steht. Jetzt bin ich endgültig mit meinem Latein am Ende :(

//EDIT: Per telnet kann ich mit meindedomain.de 3306 auch einwandfrei auf MySQL zugreifen.
Habe jetzt testweise einen neuen Datenbankbenutzer angelegt der extern zugriff hat (%), ihm eine Datenabk zugewiesen und ich bekomme trotzdem einen ERROR. Stimmt mit der Install was nicht?
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Canc3lL0g0ut« (13. Januar 2014, 11:39)


  • »Canc3lL0g0ut« ist der Autor dieses Themas

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

6

Montag, 13. Januar 2014, 17:38

OK ihr lieben, nach einer etwas unorthodoxen Methode (ob das wohl von den Entwicklern von MySQL vorgesehen war/ist) habe ich eine Lösung gefunden.

Ich habe über PHPmyAdmin den Benutzer (meinuser) samt aller Rechte kopiert und ihm externen Zugriff zugewiesen. Heißt ich habe quasi 2 Benutzer mit dem gleichen Namen - der eine local der andere extern Zugriff. Diesem neuen Benutzer habe ich die Sourcebans Datenbank MIT zugewiesen - und siehe da es läuft ohne Probleme.

Da ich diese Methode äußerst komisch finde und ich nicht glaube das es der richtige Weg ist, lasst es mich trotzdem wissen wenn ihr eine korrekte Lösung parat habt. Jedenfalls funktioniert es auf diese Art und Weise erst einmal ...
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

Cutti

Anfänger

Beiträge: 32

Wohnort: Köln

Rootserver vorhanden: Ja

  • Nachricht senden

7

Dienstag, 14. Januar 2014, 17:21

Das ist schon der richtige Weg. Zu jedem Host legt MySQL einen User an.

Zum Beispiel können user@localhost und user@1.2.3.4, trotz gleichem Namen und Passwort, unterschiedliche Rechte haben.

  • »Canc3lL0g0ut« ist der Autor dieses Themas

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

8

Samstag, 18. Januar 2014, 11:09

Heyho Cutti,

verstehe ich trotzdem nicht ganz. Heißt das wenn ich normalen Webspace miete und dort externen Datenbankzugriff möchte, das die mir nen "extra" User anlegen müssen?

Ich meine, es funktioniert. Einer der es nicht weiß denkt es ist ein User mit den Datenbanken :)

Vielen Dank für Eure Hilfe
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

Ähnliche Themen