MySQL para Windows ha demostrado por sí mismo ser muy estable. La versión para Windows de MySQL tiene las mismas características que su contraparte Unix, con las siguientes excepciones:
Windows 95 y los subprocesos
Windows 95 pierde cerca de 200 bytes de memoria principal por cada vez que crea un subproceso. Cada conexión en MySQL crea un nuevo subproceso, de modo que no se debería ejecutar mysqld por un período prolongado de tiempo, en Windows 95, si el servidor va a gestionar muchas conexiones. Otras versiones de Windows no presentan este inconveniente.
Cantidad limitada de puertos
Los sistemas Windows tienen alrededor de 4.000 puertos disponibles para conexiones de clientes, y luego de que una conexión se cierra, el puerto demora entre dos y cuatro minutos en liberarse. En situaciones donde los clientes se conecten y desconecten del servidor frecuentemente, es posible que todos los puertos disponibles se utilicen antes de que los puertos cerrados sean utilizables de nuevo. Si esto ocurre, el servidor MySQL no responderá aun cuando se esté ejecutando. Debe tenerse en cuenta que los puertos pueden ser usados por otras aplicaciones que se ejecuten en el mismo ordenador, en cuyo caso la cantidad de puertos disponibles para MySQL será menor que lo mencionado.
Para más información, consulte http://support.microsoft.com/default.aspx?scid=kb;en-us;196271.
Lecturas simultáneas
            MySQL depende de las llamadas del sistema
            pread() y pwrite()
            para ser capaz de mezclar INSERT y
            SELECT. Actualmente se usan mutexes para
            emular pread() y
            pwrite(). Se planea reemplazar en un
            futuro la interfaz a nivel de ficheros con una interfaz
            virtual, de modo que se pueda utilizar la interfaz
            readfile()/writefile()
            en Windows NT, 2000 y XP, para obtener más velocidad. La
            implementación actual limita a 2.048 el número de ficheros
            abiertos que MySQL 5.0 puede usar, lo cual significa que no
            se pueden abrir tantos procesos simultáneos en Windows NT,
            2000, XP y 2003 como en Unix.
          
Bloqueo de lectura
MySQL utiliza un bloqueo de lectura por cada conexión, lo cual tiene los siguientes efectos cuando están habilitadas conexiones named pipe:
Una conexión no es desconectada automáticamente luego de ocho horas, como ocurre en la versión Unix de MySQL.
Si una conexión se congela, no es posible eliminarla sin interrumpir a MySQL.
mysqladmin kill no funciona con una conexión congelada.
mysqladmin shutdown no funciona en tanto haya conexiones congeladas.
Se planea resolver este problema en el futuro.
            ALTER
            TABLE
          
            Mientras se está ejecutando una sentencia ALTER
            TABLE, la tabla está bloqueada frente al uso por
            parte de otros subprocesos. Esto tiene que ver con el hecho
            de que en Windows no se puede eliminar un fichero que está
            en uso por otro subproceso. En el futuro se podría
            encontrar alguna solución a este problema.
          
            DROP
            TABLE
          
            Realizar DROP TABLE sobre una tabla que
            está en uso por una tabla MERGE no
            funcionará en Windows porque el manejador
            MERGE oculta el mapeo de la tabla a la
            capa superior de MySQL. Debido a que Windows no permite
            eliminar archivos que se encuentran abiertos, primero
            deberán guardarse los cambios en todas las tablas
            MERGE (con FLUSH
            TABLES) o eliminar la tabla
            MERGE antes de borrar la tabla en
            cuestión.
          
            DATA DIRECTORY e
            INDEX DIRECTORY
          
            Las opciones de CREATE TABLE
            DATA DIRECTORY e INDEX
            DIRECTORY se ignoran en Windows, ya que Windows no
            soporta vínculos simbólicos. Estas opciones también se
            ignoran en otros sistemas operativos que no tengan una
            llamada realpath() funcional.
          
            DROP
            DATABASE
          
No se puede eliminar una base de datos que está siendo utilizada por algún subproceso.
Finalizar MySQL desde el Administrador de Tareas
No es posible finalizar MySQL desde el Administrador de Tareas o con la utilidad shutdown en Windows 95. Se lo debe detener usando mysqladmin shutdown.
Nombres case-insensitive
Los nombres de ficheros no son case sensitive en Windows, por lo tanto tampoco lo son los nombres de bases de datos y tablas. La única restricción es que los nombres de bases de datos y tablas deben ser especificados empleando el mismo esquema de mayúsculas y minúsculas a lo largo de la misma sentencia. Consulte Sección 9.2.2, “Sensibilidad a mayúsuclas y minúsculas de identificadores”.
            El separador de rutas
            '\'
          
            En Windows, los componentes de las rutas de directorios
            están separados por '\', el cual es
            también el carácter de escape en MySQL. Si se está
            utilizando LOAD DATA INFILE o
            SELECT ... INTO OUTFILE, deben usarse
            nombres de ficheros al estilo Unix, separados con caracteres
            '/':
          
mysql> LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE skr; mysql> SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
            Una alternativa es duplicar el carácter
            '\':
          
mysql> LOAD DATA INFILE 'C:\\tmp\\skr.txt' INTO TABLE skr; mysql> SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM skr;
Problemas con pipes.
            Los pipes no funcionan confiablemente desde la línea de
            comandos de Windows. Si el pipe incluye el carácter
            ^Z / CHAR(24), Windows
            lo reconocerá como fin de fichero y terminará el programa.
          
Esto es un problema particularmente cuando se intenta aplicar un fichero de registro (log) binario:
C:\> mysqlbinlog binary-log-name | mysql --user=root
            Si ocurre un problema al aplicar el fichero de registro y se
            sospecha que es causado por un carácter
            ^Z / CHAR(24), puede
            intentarse la siguiente solución:
          
C:\> mysqlbinlog binary-log-file --result-file=/tmp/bin.sql C:\> mysql --user=root --execute "source /tmp/bin.sql"
El último comando tambien puede usarse para leer confiablemente cualquier fichero SQL que pueda contener datos binarios.
            Error Access denied for
            user (Acceso denegado a usuario)
          
            Si se intenta ejecutar un programa cliente MySQL para
            conectarse a un servidor que funciona en el mismo ordenador,
            pero se obtiene el mensaje de error Access denied
            for user
            ', significa que MySQL no puede
            resolver apropiadamente el nombre del ordenador anfitrión
            (host).
          algún-usuario'@'unknown' to
            database 'mysql'
            Para resolver esto, se debe crear un fichero llamado
            \windows\hosts conteniendo la siguiente
            información:
          
127.0.0.1 localhost
La siguiente es una lista de temas pendientes para aquellos que deseen colaborar en el perfeccionamiento de MySQL para Windows:
Agregar macros para utilizar los métodos de incremento/decremento provistos por Windows, más rápidos y seguros para el trabajo con subprocesos.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

