Ik weet zeker dat het niet is getest in phpMyAdmin, maar volgens de schaarse MySQL-documentatie kon ik vinden dat het mogelijk zou moeten zijn door $cfg['Servers'][$i]['host'] = '.';
om de standaard named pipe te gebruiken. Ik veronderstel dat je connect_type
zou 'tcp' zijn, maar als dat niet werkt, probeer dan 'socket'. U kunt mogelijk een niet-standaard named pipe opgeven in de $cfg['Servers'][$i]['socket']
veld. Als je succes hebt, zou het interessant zijn om te weten voor de phpMyAdmin-documentatie.
Bewerken:
Pipes worden anders behandeld dan een TCP/IP-verbinding, in feite een geabstraheerde Windows-functie in plaats van een onderdeel van de netwerkstack. Ik kan het mis hebben dat ik het hostveld überhaupt moet gebruiken, het kan zijn dat je het helemaal leeg moet laten, maar de MySQL-clientdocumentatie is duidelijk om .
als de host (of de --pipe
optie) bij gebruik van de MySQL-opdrachtregelclient. Daarover zo meteen meer.
Je zou de externe host hier niet plaatsen, omdat de named pipe zelf bestaat uit de servernaam en pipe zoals \\ServerName\pipe\mysqlpipe
(Microsoft-documentatie ), die u ook op de MySQL-server zou moeten configureren door de server te starten met --socket='\\.\pipe\mysqlpipe'
of een nauwe variant daarvan (en --enabled-named-pipe
natuurlijk (MySQL-documentatie
)).
Ik zou beginnen met testen met de MySQL-opdrachtregelclient op de server, als je eenmaal de MySQL-service hebt uitgevoerd, probeer dan verbinding te maken vanaf de opdrachtregelclient met zoiets als mysql --pipe --socket=\\.\pipe\mysqlpipe -u root -p
(MySQL-documentatie
). Als je eenmaal bent verbonden, gebruik je het SQL-commando STATUS;
om uw verbindingstype te verifiëren. Als u geen verbinding kunt maken vanaf de MySQL-opdrachtregelclient op de lokale computer, kunt u zeker geen verbinding maken vanaf een extern systeem. Als dat werkt, is het tijd om de externe opdrachtregelclient te proberen of direct naar de externe phpMyAdmin-verbinding te gaan, waar u de servernaam zou gebruiken in plaats van .
in het socketpad (wat in feite het pad met de naam is).