phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

PhpMyAdmin-Verbindungsprotokoll PIPE

Ich bin mir sicher, dass es in phpMyAdmin nicht getestet wurde, aber laut der spärlichen MySQL-Dokumentation konnte ich feststellen, dass es so aussieht, als ob es durch Angabe von $cfg['Servers'][$i]['host'] = '.'; um die standardmäßige benannte Pipe zu verwenden. Ich nehme an, Ihr connect_type wäre 'tcp', aber wenn das nicht funktioniert, versuchen Sie es mit 'socket'. Möglicherweise können Sie in $cfg['Servers'][$i]['socket'] eine nicht standardmäßige Named Pipe angeben Feld. Wenn Sie Erfolg haben, wäre es für die phpMyAdmin-Dokumentation interessant zu wissen.

Bearbeiten:

Pipes werden anders gehandhabt als eine TCP/IP-Verbindung, im Grunde eher eine abstrahierte Windows-Funktion als ein Teil des Netzwerkstapels. Ich kann mich irren, dass ich das Host-Feld überhaupt verwenden muss, es kann sein, dass Sie es vollständig leer lassen müssen, aber die MySQL-Client-Dokumentation verwendet eindeutig . als Host (oder die --pipe Option), wenn Sie den MySQL-Befehlszeilenclient verwenden. Mehr dazu gleich.

Sie würden den entfernten Host nicht hier platzieren, da die benannte Pipe selbst aus dem Servernamen und der Pipe besteht, wie zum Beispiel \\ServerName\pipe\mysqlpipe (Microsoft-Dokumentation ), die Sie ebenfalls auf dem MySQL-Server konfigurieren müssten, indem Sie den Server mit --socket='\\.\pipe\mysqlpipe' starten oder eine ähnliche Variante davon (und --enabled-named-pipe natürlich (MySQL-Dokumentation )).

Ich würde mit dem Testen mit dem MySQL-Befehlszeilenclient auf dem Server beginnen. Sobald Sie den MySQL-Dienst ausgeführt haben, versuchen Sie, eine Verbindung vom Befehlszeilenclient mit etwas wie mysql --pipe --socket=\\.\pipe\mysqlpipe -u root -p (MySQL-Dokumentation ). Sobald Sie verbunden sind, verwenden Sie den SQL-Befehl STATUS; um Ihren Verbindungstyp zu überprüfen. Wenn Sie vom MySQL-Befehlszeilenclient auf dem lokalen Computer keine Verbindung herstellen können, können Sie sich sicherlich nicht von einem entfernten System aus verbinden. Wenn das funktioniert, ist es an der Zeit, entweder den Remote-Befehlszeilen-Client auszuprobieren oder direkt zur Remote-phpMyAdmin-Verbindung zu springen, wo Sie den Servernamen anstelle von . verwenden würden im Socket-Pfad (der eigentlich der benannte Pipe-Pfad ist).