Django kann sich einfach mit seinem eigenen MySQL-Server verbinden, indem Sie HOST
und PORT
in settings.py
als '' (leere Zeichenkette) setzen:
Meine Frage ist, wie kann ich eine andere Datenbank auf einem anderen Host verbinden? Angenommen, mein Computer ist 192.168.1.33
und ein weiterer Computer, der verbunden werden soll, ist 192.168.1.34
, beide befinden sich im selben Netzwerk. Ich habe versucht, dies als:
und
%Vor% aber beide haben dieses OperationalError
verursacht:
LÖSUNG: Kredit @cdhowie
Konfigurieren Sie die Bind-Adresse für den gewünschten Host in /etc/mysql/my.cnf
Erstellen Sie einen neuen Benutzer für den Host, dem Sie einen Zugriff gewähren möchten (falls Sie keinen haben).
Überprüfen Sie die Berechtigungen für diesen Benutzer (wenn der Zugriff verweigert wurde).
Standardmäßig konfigurieren Debian-basierte Distributionen MySQL so, dass es nur an localhost bindet, was bedeutet, dass andere Hosts keine Verbindung zu ihm herstellen können. Fix deine MySQL Konfiguration und es wird funktionieren.
Bearbeiten Sie /etc/mysql/my.cnf
und ändern Sie diese Zeile:
Dazu:
%Vor%Dadurch wird MySQL allen Netzwerkschnittstellen zugänglich gemacht. Stellen Sie daher sicher, dass Sicherheitsmaßnahmen vorhanden sind, wenn dieser Server nicht vertrauenswürdigen Hosts ausgesetzt ist.
Tags und Links django mysql database-connection