Jag är säker på att det inte är testat i phpMyAdmin, men enligt den knappa MySQL-dokumentationen som jag kunde hitta ser det ut som att det borde vara möjligt genom att ange $cfg['Servers'][$i]['host'] = '.';
för att använda standardnamnet rör. Jag antar att din connect_type
skulle vara 'tcp' men om det inte fungerar försök med 'socket'. Du kanske kan ange en icke-standard namngiven pipe i $cfg['Servers'][$i]['socket']
fält. Om du har framgång skulle det vara intressant att veta för phpMyAdmin-dokumentationen.
Redigera:
Pipes hanteras annorlunda än en TCP/IP-anslutning, i princip en abstrakt Windows-funktion snarare än en del av nätverksstacken. Jag kan ha misstagit mig att behöva använda värdfältet överhuvudtaget, det kan vara så att du måste lämna det tomt helt, men MySQL-klientdokumentationen är tydlig att använda .
som värd (eller --pipe
option) när du använder MySQL kommandoradsklient. Mer om det om ett ögonblick.
Du skulle inte placera fjärrvärden här, eftersom den namngivna pipen i sig består av servernamnet och pipen såsom \\ServerName\pipe\mysqlpipe
(Microsoft-dokumentation ), som du också måste konfigurera på MySQL-servern genom att starta servern med --socket='\\.\pipe\mysqlpipe'
eller någon nära variant av det (och --enabled-named-pipe
naturligtvis (MySQL-dokumentation
)).
Jag skulle börja med att testa med MySQL-kommandoradsklienten på servern, när du väl har kört MySQL-tjänsten kan du försöka ansluta från kommandoradsklienten med något som mysql --pipe --socket=\\.\pipe\mysqlpipe -u root -p
(MySQL-dokumentation
). När du är ansluten, använd SQL-kommandot STATUS;
för att verifiera din anslutningstyp. Om du inte kan ansluta från MySQL-kommandoradsklienten på den lokala maskinen, kommer du definitivt inte att kunna ansluta från ett fjärrsystem. Om det fungerar är det dags att prova antingen fjärrkommandoradsklienten eller hoppa direkt till fjärranslutningen phpMyAdmin, där du skulle använda servernamnet istället för .
i sockelvägen (som egentligen är den namngivna rörvägen).