Homepage selbermachen 7.852 Themen, 35.619 Beiträge

Hülfe! Keine Verbindung zu meiner MySQL-Datenbank

anyone / 8 Antworten / Baumansicht Nickles

Hallo!


Ich kann keine Verbindung zu meiner Datenbank aufnehmen ... Ich hab die Rechte auf 777 gesetzt und der Datenbank hab ich globalen Zugriff gegeben. Kann mir jemand helfen?

bei Antwort benachrichtigen
anyone Nachtrag zu: „Hülfe! Keine Verbindung zu meiner MySQL-Datenbank“
Optionen

Ich glaube ich werde meine Anfrage mal näher erklären.

Zuersteinmal bin ich blutiger Anfänger was MySql betrifft und kann bis jetzt nur DB`s und Tabellen erstellen und diese mit Daten füttern. Jetzt wollte ich mir diese Daten mittels PHP auf einer Test-Website anzeigen lassen.
Mein Provider erlaubt DB ... da hab ich nen eigenen Server wo ich bis zu 20 DB`s alegen kann. Also von daher gibt es keine Einschränkungen. Ein spezielles Verzeichnis für DB hab ich nicht gefunden, also werd ich das in dem Unterverzeichnis test/data ablegen. Das root-Verzeichnis für meine Test-HP ist "test".
Die Rechte sind auf 777 gesetzt und die DB hat globalen Zugriff.
Ich hab ein PHP-Script geschrieben wo die db.inc includet wird. Da drin stehen die Daten für die DB .. also $dbserver, $dbuser, $dbpasswd und $dbname.

Ich glaube es hängt damit zusammen, dass ich den Pfad nicht richtig angebe. Im Moment ist der in der db.inc angegebene Pfad: $dbname="data\fire_admin";

Kann das damit zusammenhängen? Ich war auch schon in diversen Foren, aber so richtig weiterhelfen konnte mir da niemand.

Danke

bei Antwort benachrichtigen
xafford anyone „genauere Beschreibung meines Problems“
Optionen
Ich glaube ich werde meine Anfrage mal näher erklären.
Ja, das wäre ganz nett.

Zuersteinmal bin ich blutiger Anfänger was MySql betrifft und kann bis jetzt nur DB`s und Tabellen erstellen und diese mit Daten füttern.
Nicht böse gemeint, aber diesen Zusatz hätte es nicht beduft (was ja aber auch keine Schande ist) ;o)

Jetzt wollte ich mir diese Daten mittels PHP auf einer Test-Website anzeigen lassen.
DIESE Daten? Welche sind diese? Womit und wie anzeigen lassen? Wie schaut der Code aus?

Mein Provider erlaubt DB ... da hab ich nen eigenen Server wo ich bis zu 20 DB`s alegen kann.
Wenn Du wirklich einen dedizierten Server hast, dann kannst Du beliebig viele Datenbanken anlegen (zumindest so viele MySQL erlaubt). Du hast wohl eher Webspace mit MySQL-Unterstützung.

Also von daher gibt es keine Einschränkungen. Ein spezielles Verzeichnis für DB hab ich nicht gefunden,...
Das wirst Du auch nicht finden, wenn Du nur Webspace hast, keinen dedizierten Server (zumindest, wenn der Server sicher konfiguriert ist).

...also werd ich das in dem Unterverzeichnis test/data ablegen. Das root-Verzeichnis für meine Test-HP ist test.
Da haben die Daten (wie zum Kuckuck hast Du die überhaupt erstellt) definitiv nichts verloren, denn die Datenbank kann nicht hellsehen und wissen, daß Du sie dort abgelegt hast.

Die Rechte sind auf 777 gesetzt und die DB hat globalen Zugriff.
Auf was hat die Datenbank globalen Zugriff? Die Daten? Woher weißt Du das?

Ich hab ein PHP-Script geschrieben wo die db.inc includet wird.
Das sollte man tunlichst nicht tun, wenn Du nicht willst, daß jeder dein Datenbankpasswort lesen kann.

Da drin stehen die Daten für die DB .. also $dbserver, $dbuser, $dbpasswd und $dbname.
...eben deswegen.
Btw: Was steht denn in dem Script noch so drinnen an Code? Nur mit Username und Passwort lässt sich da i.d.R. recht wenig anfangen.

Ich glaube es hängt damit zusammen, dass ich den Pfad nicht richtig angebe. Im Moment ist der in der db.inc angegebene Pfad: $dbname=datafire_admin;
Datenbanknamen sind keine Pfade. Ich glaube das Problem ist viel tiefgreifender, nämlich daß Du meiner Vermutung nach die Datenbank überhaupt noch nciht ins Spiel gebracht hast.

Kann das damit zusammenhängen?
Möglich ist alles, aber bei einer Wahrscheinlichkeit von um die 0% glaube ich es eher nicht.

Ich war auch schon in diversen Foren, aber so richtig weiterhelfen konnte mir da niemand.
Na dann wollen wir mal schauen, was wir hier für dich tun können, also Scherz beiseite:

Du hast von deinem Provider vermutlich Username, Passwort und eventuell einen Datenbanknamen bekommen, in der Du Tabellen anlegen darfst. Was Dir dein provider mit ziemlicher Sicherheit nicht gegeben hat, ist Dateisystemzugriff auf den kompletten Server, weswegen Du auch das Datenbankverzeichnis (meist /var/lib/mysql/) nicht finden wirst (was Du aber auch nicht brauchst).

Jetzt wäre es ganz hilfreich zu wissen, wie Du deine Daten in Dateien gepackt hast, und womit. Da das nicht bekannt ist gehen wir hier erst einmal von Theorien aus:
Die Datenbank ist ein Server(-Dienst), der auf dem Rechner läuft, sie organisiert ihre Daten zwar in Dateien, aber in einem eigenen, binären Format, da sie ja mit den Daten klarkommen muß. Ein Import der Daten (Datenbanken und Tabellen) geht also nur über einen Weg: Die Datenbank selbst. Du mußt also als allererstes deine Daten in die Datenbank importieren. Dies geht über verschiedene Wege.
Der für dich einfachste wäre:
Google nch PHPMyAdmin, lade es Dir herunter, editiere die config_inc.php (merke, immer PHP als Endung bei Dateien mit sensiblen Daten) mit deinen Zugangsdaten und lade das alles auf deinen Webspace hoch (ein Schutz des Ordners über htaccess wäre kein Fehler).
Dann verbinde dich mit deinem Webspace und gib den Ordner an, in dem PHPMyAdmin liegt, jetzt siehst Du (hoffenltich) eine Darstellung deiner Datenbank und was darin ist 8aller wahrscheinlichkeit noch nichts).
Hier kannst Du nun Datenbanken anlegen (sofern deinem Account erlaubt), Tabellen anlegen, Daten einfügen / importieren und Daten löschen.
Bevor Du aber eines davon tust wäre eine weise Entscheidung Dir ein kleines Buch zu kaufen, in dem die Grundlagen von SQL und dem Umgang damit (am Besten aus Sicht von PHP) erklärt wird.

Danke
Bitte

PS: Falls ich bei irgendeiner Annahme über deine Voraussetzungen (auf dem Server) falsch liege, so weiß cih es nicht besser... :o)
Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
anyone xafford „Antwort“
Optionen

Naja, danke erstmal ...

Also: Erstellt hab ich die Datenbank mit Hilfe von PHPMyAdmin. Ich hab mir ein Buch zu Weihnachten namens "MySQL - Anfangen, Anwenden, Verstehen" von Thomas Demmig schenken lassen. Darin hab ich Schritt für Schritt eine Datenbank erstellt, Tabellen erstellt, diese mit Daten gefüttert und Abfragen gemacht. Das alles hab ich jetzt nicht direkt mit PHPMyAdmin gemacht, sondern ich bin bin immer auf die SQL-Registerkarte gegangen und hab das per Hand eingetragen, damit ich das lerne. Ich nutze derzeit die aktuelle XAMPP - Version mit PHP 5. Laut dem Buch hier muss ich mich, bevor ich Abfragen mit PHP aus einer MySQL-DB machen kann, mich mit der DB verbinden. Doch genau da scheiterts lokal, als auch auf dem Server.
Das die DB globale Rechte hat weiß ich daher, weil ich keinerlei Einschränkungen gemacht habe und somit kann jeder auf selbige zugreifen.
Eigentlich hab ich jetzt zu Testzwecken nur eine Tabelle mit 2 Datensätzen erstellt, also wäre eine simple Abfrage alles was ich will. Es geht ja nur darum das ich Schritt für Schritt mal sowas hinbekomme.
Bei XAMPP stehen die DB`s im Verzeichnis ...\apache\xampp\mysql\data . Der localhost hat aber den root ...\apache\xampp\htdocs .
Also dachte ich, das eine absolute Pfadangabe notwendig ist. Als das nicht funktionierte, hab ich das Verzeichnis mit den 4 Dateien der DB auf den Webserver gelegt, den Pfad in der db.inc geändert und dachte das geht ... keine Chance.
Mein Server? http://www.canaletto.net/produkte.asp?mid=6&uid=31&iid=19
Soviel dazu ..

Ich dank Dir erstmal wie verrückt und hoffe ich konnte Dir etwas besser erklären worum es bei mir geht. Vielleicht ist es ja nur ne Konfigutrationssache, oder ich bin zu blöd dafür, was wohl eher der Fall sein wird.

anyone

bei Antwort benachrichtigen
xafford anyone „Antwort“
Optionen

Erst mal...mit blöd hat das nichts zu tun, man muß den Kram halt lernen.
Das mit dem Verzeichnis, in das Du den Kram gepackt hast (ich nehme an, Du redest von den Datenbankdateien (MYD und so weiter) geht an sich schon (sofern es sich um die selbe Datenbanksversion handelt), allerdings müssen die Dateien in das Datenverzeichnis der Datenbank, welche oben unter einem Linux-System woanders liegt und auf die man im Normalfall keinen Zugriff hat.
Falls ich das mit den Dateien falsch verstanden habe und Du von den PHPMyAdmin-Dateien gesprochen hast hier noch ein paar Fragen: Welcher Fehler wird bei dem Aufbau der Verbindung ausgegeben? Nutzt Du als Server localhost? Hast Du exakt die Userdaten eingegeben, die Dir dein Provider gegeben hat?

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
anyone xafford „Antwort“
Optionen

Beim Aufbau der Verbindung steht "Keine Verbindung!" ... also mit anderen Worten, ich konnte keine Verbindung zur DB herstellen.
Ja, ich nutze localhost als Server.
Userdaten? Provider? achso .. ich muss, wenn ich das online ansehen will als Benutzername und Passwort die Daten eingeben die mir mein Provider gegeben hat .. hmm .. das man das bei der DB nochmal explizit machen musste, wusste ich bis jetzt nicht.
Mich würde es aber schon erstmal freuen wenn das auf localhost funktionieren würde.

Danke soweit xafford

bei Antwort benachrichtigen
xafford anyone „Antwort“
Optionen

So eine Datenbank hat eine eigene Benutzerverwaltung, diese braucht sie auch, da ja auf Shared Hosts (also Server, die von vielen Kunden genutzt werden) nicht Kunde A die Datenbanken von Kunde B ansehen, ändern, löschen können soll.
Ergo brauchst Du für eine Verbindung Benutzerdaten (auch beim Aufbau einer Verbindung mit PHP (mysql_connect(Server, Username, Passwort))

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
anyone xafford „Antwort“
Optionen

Naja, aber lokal dürfte das doch egal sein, oder? Ich mein, im Moment hätte jeder der an meinen Rechner kann, Zugriff auf localhost und damit auch auf meine DB ... also sollte es doch lokal möglich sein mit jeden Benutzername und mit jeden Passwort Zugriff zu erhalten. So hab ich das zumindest laut dem Buch verstanden

bei Antwort benachrichtigen
Zaphod anyone „Antwort“
Optionen

... mit den Benutzern auf deinem System hat das nichts zu tun - hier gehts um Datenbankbenutzer. Wenn du lokal eine Standardinstallation hast, geht der Benutzer "root" ohne Passwort ...
HTH, Z.

bei Antwort benachrichtigen