MySQL client error 2017 means the client could not open the Windows named pipe used for a local connection to the MySQL server.
MySQL Error 2017: CR_NAMEDPIPEOPEN_ERROR occurs when the client cannot open the Windows named pipe defined for MySQL connections. Enable the named-pipe option on the server or switch the client to TCP/IP to resolve the issue.
Can't open named pipe to host: %s pipe: %s (%lu)
Error 2017 fires when a MySQL client on Windows tries to connect via the named-pipe protocol and Windows cannot open or find the pipe.
The full message is "Can't open named pipe to host: pipe: ()". The failure stops the session before authentication, so no SQL can run.
Named pipes are disabled by default in MySQL 8.0 and many earlier versions.
A client that requests the pipe protocol will fail if the server side is off.
The error also appears when the client specifies the wrong pipe name, the server service is down, Windows permissions block the pipe, or antivirus software locks it.
Fastest workaround is to force the client to use TCP/IP: add --protocol=tcp or set MYSQL_PROTOCOL=tcp. TCP bypasses named pipes entirely.
If you require named pipes, edit my.ini: [mysqld] enable-named-pipe and optionally named-pipe="\\.\\pipe\\mysql".
Restart the MySQL service so the pipe exists before clients connect.
Local scripts using older mysql.exe default to named pipes on 127.0.0.1. Add --protocol=tcp to the command or update connection strings in application config files.
PowerShell automation running as a service account may lack rights to the pipe.
Grant the account membership in the MySQL group or use icacls to allow read/write on the pipe directory.
Standardize on TCP/IP for all local and remote connections unless named-pipe latency benefits are required.
If you enable named pipes, document the exact pipe name in source control and monitoring dashboards, and restart MySQL after configuration changes.
Error 2003 (CR_CONN_HOST_ERROR) indicates a TCP connection failure instead of a pipe problem.
Verify port 3306 and firewall rules.
Error 2019 (CR_SHARED_MEMORY_CONNECT_ERROR) happens when Windows shared-memory protocol cannot connect. Enable shared_memory or switch to TCP/IP.
.
The server is not started with the enable-named-pipe option, so no pipe exists for the client to open.
Client specifies a pipe path that differs from the server configuration, causing Windows ERROR_FILE_NOT_FOUND.
The operating system cannot open the pipe because the MySQL service that creates it is stopped or still starting.
The user running the MySQL client lacks read and write rights to the pipe object.
Endpoint protection tools block or sandbox the named pipe, preventing successful creation or opening.
.
No. Named pipes are a Windows-only connection method in MySQL. Linux clients never raise CR_NAMEDPIPEOPEN_ERROR.
Yes. Remove enable-named-pipe from my.ini and restart MySQL. Clients must then use TCP/IP or shared memory.
For very high query volumes on the same machine, pipes can be slightly faster, but the difference is small in modern networks.
Galaxy’s SQL editor defaults to TCP/IP connections, validates protocol parameters, and surfaces client errors instantly, helping engineers avoid error 2017.