Bug #57047 Windows named pipes information in the manual
Submitted: 27 Sep 2010 23:55 Modified: 28 Sep 2010 6:11
Reporter: Roel Van de Paar Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version: OS:Windows
Assigned to: CPU Architecture:Any

[27 Sep 2010 23:55] Roel Van de Paar
Description:
Named pipes seem to be enabled by default on Windows:

C:\mysql\bin>mysql --socket=MySQL -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.

Without any named pipe options in the my.ini

Yet (issue #1),

http://dev.mysql.com/doc/refman/5.1/en/connecting.html#option_general_socket

"The server must be started with the --enable-named-pipe option to enable named-pipe connections."

And (issue #2),

http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_enable-named-pipe

"Command-Line Format 	--named_pipe"

And from example my.ini files (issue #3),

# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!

And (issue #4),

http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_enable-named-pipe

Does not list a default setting

How to repeat:
See manual, test

Suggested fix:
#1 The server is started by default with the named pipe option, so the premise is incorrect (plus see point #2 for naming of the option)
#2 Find out what the right option is (--named_pipe or --enable-named-pipe) and correct relevant manual page(s) as necessary
#3 Same issue as in #1
#4 Add default

There may also be other places in the manual where this "default starting of named pipe support" needs to be fixed up. Maybe this changed when mysqld-nt.exe was discontinued in favor of mysqld.exe?
[28 Sep 2010 1:00] Roel Van de Paar
C:\mysql\bin>mysqld --named_pipe
...
C:\mysql\bin>tail ..\data\MySQL.err
...
100928 10:58:54 [ERROR] mysqld: unknown option '--named_pipe'
100928 10:58:54 [ERROR] Aborting

100928 10:58:54  InnoDB: Starting shutdown...
100928 10:58:59  InnoDB: Shutdown completed; log sequence number 0 3378271018
100928 10:58:59 [Note] mysqld: Shutdown complete
[28 Sep 2010 1:02] Roel Van de Paar
--enable-named-pipe works fine
[28 Sep 2010 5:04] MySQL Verification Team
Are you sure in your first test you're not connected via tcp/ip?
Named pipes are not enabled by default on my 5.1.49 when started like:
mysqld.exe --no-defaults --console --skip-gr --skip-na

D:\mysql-advanced-gpl-5.1.49-win32\bin>mysql --no-defaults --pipe
ERROR 2017 (HY000): Can't open named pipe to host: .  pipe: MySQL (2)

Then when connecting with tcp/ip and checking the state of the variable:

mysql> show global variables like '%pipe%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| named_pipe    | OFF   |
+---------------+-------+
1 row in set (0.01 sec)

However when starting server like:
mysqld --no-defaults --console --skip-gr --skip-na --enable-named-pipe

And connecting using a pipe, it works:
mysql --no-defaults --pipe

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.1.49, for Win32 (ia32)

Connection id:          2
Current database:
Current user:           ODBC@
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.1.49-enterprise-gpl-advanced MySQL Enterprise Server - Advanced Edition (GPL)
Protocol version:       10
Connection:             Named pipe: MySQL <-----------
Server characterset:    latin1
[28 Sep 2010 6:11] Roel Van de Paar
Ouch :) You're right.
[28 Sep 2010 6:20] Roel Van de Paar
This bug replaced by bug #57051 due to errors