Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

DB auf anderem Hosts ansprechen ?

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
jenny79
Newbie
Newbie
Beiträge: 6
Registriert: 2. Aug 2006, 11:44

DB auf anderem Hosts ansprechen ?

Beitrag von jenny79 » 3. Aug 2006, 09:42

Hallo Leute!
Habe folgendes Problem:
Möchte gerne von einem webspace mit einem script auf die Datenbank auf einem anderen Server zugreifen, aber das klappt wohl nicht!
wenn ich jetzt diesen code mit port probiere geht es nicht:

Code: Alles auswählen

$db_news=mysql_connect("www.domain.com:3306","web1","passwort")
or die (mysql_error());
Fehlermeldung:Lost connection to MySQL server during query

Sonst habe ich nochmal den port:8443 probiert, weil das im phpmyadmoin oben in der adresszeile steht, geht aber auch nicht (ohne gehts auch nicht).

Ist doch komisch denn wenn ich auf dem Server wo auch die Datenbank ist das script ausführe, und localhost als host eintrage dann funktioniert es!

Wie kann ich denn den MySQL-Server konfigurieren dass er Verbindungen über das Netzwerk annimmt, vielleicht liegt es ja daran?

Lg
Jenny

Werbung:
Urkel_
Newbie
Newbie
Beiträge: 4
Registriert: 12. Jul 2006, 12:30

Beitrag von Urkel_ » 3. Aug 2006, 12:26

Das kann 2 Gründe haben:

1) Der DB-User kann nur lokal auf die Datenbank zugreifen. Hier würde helfen ein zusätzlicher User mit eingeschränkten Rechten für den Fernzugriff anzulegen.

2) Die Firewall blockt den Port auf dem die Datenbank lauscht. Hier müsste die Firewall konfiguriert werden.

In beiden Fällen solltest Du Dir aber Gedanken über die Sicherheit der Daten machen.

dl4ntc
Newbie
Newbie
Beiträge: 3
Registriert: 31. Aug 2006, 22:38
Wohnort: Aschersleben
Kontaktdaten:

Beitrag von dl4ntc » 1. Sep 2006, 08:14

Hi,

schonmal in der Datei 'my.cnf' nach geschaut ?

Dort ist der Eintrag 'skip-networking' aus zu kommentieren und damit ist Dein MySQL-Server nach einen Neustart auch über das Netzwerk erreichbar.

Gruss Detlef

Leviathan
Hacker
Hacker
Beiträge: 510
Registriert: 30. Aug 2006, 15:30
Wohnort: Nürnberg

Beitrag von Leviathan » 1. Sep 2006, 08:27

Ist (wahrscheinlich) so wie Urkel bereits erwähnte. Es ist nicht jedem User, von jedem X-beliebigen Rechner, erlaubt SQL Statements auf einer Datenbank abzusetzen.

Das ist in der DB Mysql/ Tabelle Users festgelegt.

Siehe user 'root', der darf fast alles (sieht man an den Y), aber auch nur von localhost

Code: Alles auswählen

mysql> select * from user;
+-----------------------+----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+
| Host                  | User     | Password         | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections |
+-----------------------+----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+
| localhost             | root     | 1650b4197ac6fadd | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | N            | N          | N                     | N                | N            | N               | N                |          |            |             |              |             0 |           0 |               0 |
Um von deinem Client aus Zugriff zu erlauben musst du auf der Datenbank folgendes Statement ausführen.

Code: Alles auswählen

GRANT ALL PRIVILEGES ON [Datenbankname].* TO 'web1'@'[rechnername des clients, oder IP]'  IDENTIFIED BY 'passwort';
flush privileges;
Wenn du trotzdem keinen Zugriff erhälst, liegts sehr wahrscheinlich an einer Firewall.

Gruß Dominik

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste