You are not logged in.

Canc3lL0g0ut

Professional

  • "Canc3lL0g0ut" started this thread

Posts: 881

Location: L.E.

Occupation: KiN im Betriebsdienst

wcf.user.option.userOption53: Nein

  • Send private message

1

Sunday, January 12th 2014, 8:32pm

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

This post has been edited 1 times, last edit by "Canc3lL0g0ut" (Jan 12th 2014, 9:15pm) with the following reason: Noch etwas hinzugefügt


2

Monday, January 13th 2014, 12:21am

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

Posts: 3,980

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

3

Monday, January 13th 2014, 9:30am

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

Professional

  • "Canc3lL0g0ut" started this thread

Posts: 881

Location: L.E.

Occupation: KiN im Betriebsdienst

wcf.user.option.userOption53: Nein

  • Send private message

4

Monday, January 13th 2014, 10:20am

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:

Source code

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:

Source code

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

This post has been edited 2 times, last edit by "Canc3lL0g0ut" (Jan 13th 2014, 10:35am)


Canc3lL0g0ut

Professional

  • "Canc3lL0g0ut" started this thread

Posts: 881

Location: L.E.

Occupation: KiN im Betriebsdienst

wcf.user.option.userOption53: Nein

  • Send private message

5

Monday, January 13th 2014, 10:50am

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

This post has been edited 1 times, last edit by "Canc3lL0g0ut" (Jan 13th 2014, 11:39am)


Canc3lL0g0ut

Professional

  • "Canc3lL0g0ut" started this thread

Posts: 881

Location: L.E.

Occupation: KiN im Betriebsdienst

wcf.user.option.userOption53: Nein

  • Send private message

6

Monday, January 13th 2014, 5:38pm

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

Beginner

Posts: 32

Location: Köln

wcf.user.option.userOption53: Ja

  • Send private message

7

Tuesday, January 14th 2014, 5:21pm

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

Professional

  • "Canc3lL0g0ut" started this thread

Posts: 881

Location: L.E.

Occupation: KiN im Betriebsdienst

wcf.user.option.userOption53: Nein

  • Send private message

8

Saturday, January 18th 2014, 11:09am

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

Similar threads