Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo

Ich habe ein Problem mit MySQL Verbindung. Auf meinem PC habe ich XAMPP installiert, local läuft alles super. Seit paar Tagen habe ich DynDNS-Updater bei mir installiert. Jetzt kann meine Site auch von außen angesprochen werden. Auf meine Page gibt’s Formular, über welche man sich registrieren kann. Wenn ich über mein Rechner, wo XAMPP und DynDNS-Updater laufen, die Seite aufrufe, nicht local sondern über internet, und über den Formular die Daten in DB speichre, funk alles. Aber wenn das Formular mein Kumpel ausführt, wird in DB nichts gespeichert. Was muss ich jetzt ändern, damit es auch über Internet die Daten gespeichert werden.

www.rusbranchemax.dyndns.org so ist bei dyndns angemeldet

DB zugang

$server = 'localhost'; 
$user = 'root';
$pw = '**********';
$db = 'myrustel';
$connect=mysql_connect($server,$user,$pw)
or die("Datenbankverbindung fehlgeschlagen: " .
mysql_error());

mysql_select_db($db,$connect)
or die("Auswahl der Datenbank fehlgeschlagen");

//header("Content-Type: text/html; charset=UTF8");
$result = MYSQL_QUERY("SET NAMES 'utf8'");
[/PHP]

MfG max

hallo

änder doch mal $server = 'localhost' mal auf $server = 'www.rusbranchemax.dyndns.org'. Was passiert?

kommt Fehler

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'www.rusbranchemax.dyndns.org' (10051) in D:\program files\xampp\htdocs\MyRusTel\connect_myrustel.inc.php on line 6

Datenbankverbindung fehlgeschlagen: Can't connect to MySQL server on 'www.rusbranchemax.dyndns.org' (10051)

heist das was?

MfG max

ich habe in meine Firewall Port 3306 frei gegeben, mysql neue gestertet und, wenn ich bei phpmyadmin anmelden möchte, kam nach drei anmeldeversuche Fehler, das benutzer oder password falsch ist? warum denn? was soll ich da beachten?

MfG max

edith : quatsch, sorry

Was muss ich jetzt ändern, damit es auch über Internet die Daten gespeichert werden.

Für dein PHP ist es egal, von wo der Aufruf kommt und für MySQL kommt die PHP-Anfrage immer vom localhost. Ich schätze eher, dein Script hat andere Probleme/Fehler.

Für dein PHP ist es egal, von wo der Aufruf kommt und für MySQL kommt die PHP-Anfrage immer vom localhost. Ich schätze eher, dein Script hat andere Probleme/Fehler.

a)Mein Webcontent in meinem LAN läuft bei einem http://localhost und http://www.dyndnanamen Aufruf einwandfrei. Eingaben werden in die Datenbank eingetragen.

b)Mein Webcontent läuft aussen im internet zwar über http://dyndnsnamen , ABER es werden keine Daten in die Datenbank eingetragen.

Und was ist da mit? Warum passiert das?

ich habe in meine Firewall Port 3306 frei gegeben, mysql neue gestartet und, wenn ich bei phpmyadmin anmelden möchte, kam nach drei anmelde versuche Fehler, das benutzer oder password falsch ist? warum denn? was soll ich da beachten?

MfG max

ich habe in meine Firewall Port 3306 frei gegeben, mysql neue gestartet und, wenn ich bei phpmyadmin anmelden möchte, kam nach drei anmelde versuche Fehler, das benutzer oder password falsch ist? warum denn? was soll ich da beachten?

Den Port 3306 musst du überhaupt nicht freigeben wenn du den phpmyadmin benutzt und der auf demselben Rechner läuft wie die MySQL Datenbank. phpmyadmin ist ein php-Skript und läuft auf dem Server. Von da greift es auf MySQL zu. Da sie beide auf einem Rechner sind erfolgt der Zugriff also vom localhost! Dabei ist es vollkommen egal ob du über eine dyndns-Adresse, die IP-Adresse, von einem Browser oder von deinem Handy den phpmyadmin aufrufst.

b)Mein Webcontent läuft aussen im internet zwar über http://dyndnsnamen , ABER es werden keine Daten in die Datenbank eingetragen.

Was für einen Fehler bringt er denn? Dass keine Daten eingetragen werden ist ja schön (bzw. nicht schön), aber bringt so allein nichts für die Fehlersuche.

Hallo,

ist der User 'root' auf die Datenbank fuer den Zugriff von aussen ueberhaupt berechtigt ?

Ueberpruef mal die GRANTs von 'root'. Wenn root nur Rechte auf die DB von localhost aus hat, dann klappt das nicht von aussen. Da musst Du mal ein:


GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '*********' WITH GRANT OPTION;

Oder so aehnlich. Aber erst mal pruefen. Das da oben war schnell mal hingetippt.

Gruessle

Andreas

ist der User 'root' auf die Datenbank fuer den Zugriff von aussen ueberhaupt berechtigt ?

Hallo? phpMyAdmin greift nur vom localhost zu, egal von wo man die Seite aufruft!

Deswegen ist phpMyAdmin ja quasi Standard bei Webhostern, weil da root (oder ein anderer) nie Zugang von außen hat.

EDIT:

Gleiches gilt natürlich für jedes Skript auf dem Server.

In der user Tabelle (Datenbank: mysql) steht drin von welchem host aus der User (auch root ist nur ein User) zugreifen darf. Wenn da jetzt localhost drin steht, der User aber nicht von localhost kommt, dann darf der nicht auf die DB zugreifen. Egal, ob irgendwo in PHP localhost steht (MySQL Grundkurs Teil 1). root muss fuer host % berechtigt werden und schon klappt das mit dem Nachbarn.

Einfachster Weg, neuen User anlegen (siehe oben) mit der Berechtigung auf % und den min. benoetigsten GRANTs, dann klappt das auch.

Die besten Gruesse

Andreas

Egal, ob irgendwo in PHP localhost steht (MySQL Grundkurs Teil 1).

Webserver-Gundverständnis Teil1:

PHP-Skripte laufen auf dem Webserver. Nur auf dem Weberver und nie in einem Browser oder sonst irgendwo. Wenn ein PHP-Skript vom Server auf dem auch die MySQL-Datenbank läuft auf den MySQL-Server zugreifen will, dann greift das PHP-Skript vom localhost zu. Nicht vom Browser, nicht von irgendwo im Netz.

Was irgendwo in einem PHP-Skript steht ist vollkommen irrelevant. PHP läuft auf dem Server und tut und läßt alles da.

Wenn du den Zugriff für irgendwelche MySQL-Benutzer von einem anderen Rechner als localhost erlaubst, dann bezieht sich das auf die Nutzung von irgendwelchen Tools, die auf MySQL native zugreifen, aber eben nicht auf dem Rechner laufen, auf dem der MySQL-Server läuft. Beispielsweise mit dem MySQL QueryBrowser von daheim auf den Server bei einem Webhoster.

MySQL-Grundkurs Teil 2.

Mind. 99% der Webspaceanbieter, die MySQL anbieten, haben den Zugriff auf localhost beschränkt. Angeblich weil es eine sicherheitslücke ist, den Zugriff auch ausserhalb vom localhost zu erlauben. Aus diesem Grund wird bei fast 100% dieser Anbieter zusätzlich zu MySQL auch der phpMyAdmin angeboten um die Datenbank zu verwalten. Der Zugriff läuft aber nur über localhost, weil alles andere als Sicherheitlücke angesehen wird. Mind. 99% der MySQL Benutzer bei einem Webspaceanbieter haben aber keinerlei Probleme auf ihren Account zuzugreifen, auch wenn in der Tabelle 'user' nur localhost steht (oder in der my.cnf ein Skip Networking oder ein bind=localhost)

Webspace-Grundkurs Teil1

Webspace-Grundkurs Teil1

Das sollte ich mir mal anschauen ... meinen MySQL Grundkurs Teil 1 wiederholen und den MySQL-Grundkurs Teil 2 buchen. Ich bin wohl doch zu lange raus. Zu viel PM zu wenig Programmieren.

Dem Rest noch viel Erfolg

Gruessle

Andreas

b)Mein Webcontent läuft aussen im internet zwar über http://dyndnsnamen , ABER es werden keine Daten in die Datenbank eingetragen.

Kann man die Seite mal über die URL erreichen, oder kannst Du mal den Quellcode (aus der Browser-Quellcode-Anzeige, bitte) von der Seite posten, die das Formular anzeigt (der <form>-tag sollte reichen...)?

Achja, und an den MySQL-Einstellungen brauchst Du, wie bereits von JesterDay erwähnt, nichts zu ändern, daran wird's am wenigsten liegen...

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.