Bug #36601 | can't start 64 bit windows server with support for shared memory protocol | ||
---|---|---|---|
Submitted: | 8 May 2008 17:24 | Modified: | 30 Jul 2008 20:51 |
Reporter: | Erica Moss | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server | Severity: | S1 (Critical) |
Version: | 5.0.58 enterprise 64 bit | OS: | Windows (server 2003) |
Assigned to: | Iggy Galarza | CPU Architecture: | Any |
Tags: | shared memory 64 bit |
[8 May 2008 17:24]
Erica Moss
[30 Jun 2008 14:04]
Eckhard Pruehs
Same problem with 32 bit standalone version under Windows XP and Vista using shared memory protocol in version 5.1.24
[30 Jul 2008 20:51]
Iggy Galarza
I was unable to recreate the symptom using the mysql-essential-5.1.26-winx64.msi. I installed and configured an instance using all the defaults. I stopped the service and I manually added the following two lines to the defaults-file(my.ini): shared-memory shared-memory-base-name=MYSQL Next I restarted the service and attempted to connect with the client. Here is the output from the command line: $ ./mysql.exe -uroot -P3306 --protocol=memory -p Enter password: **** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.1.26-rc-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> status -------------- c:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe Ver 14.14 Distrib 5.1.26-rc, for Win64 (unknown) Connection id: 4 Current database: Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.1.26-rc-community MySQL Community Server (GPL) Protocol version: 10 Connection: Shared memory: MYSQL Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 TCP port: 3306 Uptime: 3 min 12 sec Threads: 1 Questions: 9 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.46 -------------- Next I tested a default installation/configuration of mysql-essential-5.0.67-winx64.msi with the defaults-file modification outlined above. Here are the results: >mysql.exe -uroot -P3306 --protocol=memory -p Enter password: **** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.67-community-nt MySQL Community Edition (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> status -------------- mysql.exe Ver 14.12 Distrib 5.0.67, for Win64 (unknown) Connection id: 1 Current database: Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.67-community-nt MySQL Community Edition (GPL) Protocol version: 10 Connection: Shared memory: MYSQL Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 TCP port: 3306 Uptime: 55 sec Threads: 1 Questions: 4 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6 Queries per second avg: 0.073 -------------- mysql> show variables like 'shared%'; +-------------------------+-------+ | Variable_name | Value | +-------------------------+-------+ | shared_memory | ON | | shared_memory_base_name | MYSQL | +-------------------------+-------+ 2 rows in set (0.00 sec)
[11 Aug 2008 20:42]
Sven Nowak
We reproduced the problem on windows vista x64, windows vista home basic x86 both not running as a windows service: Files used: ----------- mysql-noinstall-5.1.26-rc-win32.zip mysql-noinstall-5.1.26-rc-winx64.zip 1) Contents my.ini: ------------------- Copy of my-small.ini, added these two lines under [mysqld]: shared-memory shared-memory-base-name=MYSQL 2) Starting database server: ---------------------------- mysqld.exe --defaults-file=..\my.ini 3) Setting "root" password: --------------------------- mysqladmin -u root password root 4) Connecting to database server: --------------------------------- mysql.exe -u root --protocol=memory -p Result on Windows XP: --------------------- All commands execute properly and without error. Result on Windows Vista x64/ Vista Home Basic x86: -------------------------------------------------- Executing steps 1) to 4) with non-elevated cmd.exe: ### CONSOLE SNIPPET START ### C:\Users\xyz\Desktop\mysql-noinstall-5.1.26-rc-winx64\mysql-5.1.26-rc-winx64\bin>mysql.exe -u root --protocol=memory -p Enter password: **** ERROR 2038 (HY000): Can't open shared memory; client could not create request event (2) C:\Users\xyz\Desktop\mysql-noinstall-5.1.26-rc-winx64\mysql-5.1.26-rc-winx64\bin> ### CONSOLE SNIPPET END ### Executing steps 2) and 4) with elevated cmd.exe: ### CONSOLE SNIPPET START ### C:\Users\xyz\Desktop\mysql-noinstall-5.1.26-rc-winx64\mysql-5.1.26-rc-winx64\bin>mysql.exe -u root --protocol=memory -p Enter password: **** ERROR 2038 (HY000): Can't open shared memory; client could not create request event (2) C:\Users\xyz\Desktop\mysql-noinstall-5.1.26-rc-winx64\mysql-5.1.26-rc-winx64\bin> ### CONSOLE SNIPPET END ### Possibly related, suspected problem: ------------------------------------ "Global CreateFileMapping under Vista UAC": http://www.celceo.com/blogs/windows-insight/2007/09/global-createfilemapping-under.html
[17 Aug 2011 5:20]
MySQL Verification Team
Erica, you forget to specify the shared-memory-base-name for the client. Look, this works: ---------- server: ---------- I:\mysql\5.0\5.0.60\mysql-enterprise-gpl-5.0.60sp1-winx64\bin>mysqld-nt --no-defaults --shared-memory --shared-memory-base-name=MySQL --console --skip-grant-tables --skip-name-resolve ---------- client: ---------- I:\mysql\5.0\5.0.60\mysql-enterprise-gpl-5.0.60-winx64\bin>mysql --no-defaults --protocol=memory --shared-memory-base-name=MySQL <cut> mysql> status Connection: Shared memory: MySQL <cut>
[17 Aug 2011 5:33]
MySQL Verification Team
the default shared memory base name is MYSQL and this is case sensitive.