Client-side failure raised when the Windows named-pipe channel to the MySQL server cannot be opened.
MySQL Error 2015 (CR_NAMEDPIPE_CONNECTION) signals that the client could not open the Windows named pipe used for MySQL communication. Ensure the server starts with --enable-named-pipe, verify the pipe name, or connect over TCP/IP to resolve the problem.
Named pipe: %s
MySQL Error 2015 appears with the text “Named pipe: <pipe_name>” when the client library cannot open a Windows named pipe to the MySQL server.
The failure is reported on the client side and prevents authentication from starting.
The error is Windows-specific because Unix and macOS use Unix domain sockets instead of named pipes for local inter-process communication.
Fixing the error quickly is critical because it blocks all local clients that rely on the named-pipe protocol, including backup scripts and application services.
Most cases arise when the MySQL server was started without the --enable-named-pipe option, so no pipe listener exists.
A mismatch between the client’s pipe name (default \.\pipe\MySQL) and the server’s --socket or --pipe-name setting also triggers the error.
Insufficient Windows permissions can stop the client from opening the pipe handle, especially when User Account Control settings change.
First confirm that the server is listening on a pipe by running SHOW VARIABLES LIKE 'named_pipe';
.
A value of ON indicates support.
If OFF, restart mysqld with --enable-named-pipe
, or add [mysqld]\n enable-named-pipe
to my.ini and reboot the service.
If the pipe names differ, align them on both sides with --socket=MyPipe
for the server and mysql --socket=MyPipe
for the client, then reconnect.
Local scripts using the default pipe fail after an upgrade because the new instance starts without named-pipe support.
Add the startup flag or change scripts to TCP (127.0.0.1:3306).
CI pipelines that hard-code \.\pipe\mysql fail when the DBA sets a custom name. Update the connection string to the new pipe or expose TCP to the runner.
Services running under a restricted account see Error 2015. Grant the account membership in the group specified by named_pipe_full_access_group
or use TCP.
Standardize on TCP connections unless low-latency local pipes are required.
TCP works cross-platform and survives restarts without extra flags.
Automate MySQL startup with a configuration file that always includes enable-named-pipe
when pipes are mandatory. Galaxy’s workspace templates store these flags alongside versioned queries for reliable onboarding.
Monitor the Windows Event Log and MySQL error log for pipe-related warnings so you can act before applications start failing.
Error 2059 (CR_AUTH_PLUGIN): Raised after Error 2015 is resolved but the plugin is unsupported. Upgrade libmysqlclient or set default_authentication_plugin
.
Error 2003 (CR_CONN_HOST_ERROR): TCP connection refused.
Verify mysqld listens on 0.0.0.0:3306 or the firewall rules.
Error 2002 (CR_SOCKET_CREATE): Unix socket cannot be created on Linux. Confirm --socket
path and directory permissions.
.
Missing --enable-named-pipe flag leaves no listener, so every local pipe connection fails immediately.
The client tries \.\pipe\MySQL while the server listens on a custom name set by --socket or --pipe-name.
The connecting process lacks rights to open the pipe handle because of tightened UAC or removal from the pipe access group.
A crashed client can leave the pipe in a bad state until the operating system cleans it, briefly triggering Error 2015 for new clients.
.
Connect over TCP and run SHOW VARIABLES LIKE 'named_pipe';
. A value of ON means the server was started with named-pipe support.
No. The named-pipe listener is initialized only at startup. You must add enable-named-pipe
to your my.ini and restart the service.
For most workloads the latency difference is negligible. TCP offers greater portability and avoids Error 2015, so many teams prefer it.
Galaxy’s connection wizard surfaces protocol options and stores the correct pipe or TCP settings with each workspace, reducing misconfiguration risk.