Was ist die Verwendung der Socket-Deklaration in config / database.yml?
Beispielcode:
%Vor%Meine App funktioniert, ob diese Zeile kommentiert ist oder nicht. Also wofür ist es? Welche Gründe kann ich haben, um es zu verlassen, es zu kommentieren oder seinen Wert zu ändern?
Wenn zwei Programme über das Netzwerk miteinander kommunizieren möchten, öffnet ein Programm möglicherweise eine TCP-Verbindung (ein "Socket") mit der anderen. Das erste Programm muss die IP-Adresse des zweiten Computers und den Port kennen, auf dem das Programm wartet.
Wenn unter Linux zwei Programme auf demselben Computer miteinander kommunizieren möchten, können sie dennoch eine TCP-Verbindung herstellen. Sie können aber auch eine Verbindung über eine "Socket-Datei" herstellen. Linux macht die Socket-Datei-API der TCP-API sehr ähnlich. Es ist also keine große Sache, ein Programm zu aktualisieren, das bereits über TCP über das Netzwerk kommuniziert, um auch die Kommunikation über Socket-Dateien zu unterstützen. Socket-Dateien sind schneller als TCP, funktionieren aber nur, wenn sich beide Programme auf demselben Computer befinden.
Ich verschwendete einen ganzen Nachmittag wegen eines Sockets, der in meiner Datenbank.yml angegeben war - die Datenbankspezifikationen für die Testumgebung wurden einfach nicht geparst. Wenn Sie also ein Problem damit haben, dass Ihre Testdatenbank nicht erreichbar ist, obwohl alles in Ordnung zu sein scheint, entfernen Sie die Socket-Spezifikation.
Tags und Links configuration sockets mysql database ruby-on-rails