1.6. Fuentes de información acerca de MySQL
From MySQL 5.0
Esta sección presenta las listas de correo MySQL y proporciona guías sobre cómo deben usarse las listas. Cuando se suscribe a una lista de correo, recibe todos los mensajes como mensajes electrónicos. Puede enviar sus propias preguntas y respuestas a la lista.
Para suscribirse o borrarse de cualquiera de las listas descritas en esta sección, visite http://lists.mysql.com/. Para la mayoría de ellos, puede seleccionar la versión normal de la lista en la que recibe mensajes individuales, o una versión resumida en la que recibe un gran mensaje al día.
Por favor no envíe mensajes para suscribirse o borrarse a ninguna de las listas de correo, ya que dichos mensajes se distribuyen automáticamente a miles de usuarios..
Su sitio local puede tener muchos suscriptores a una lista de
correo MySQL. En ese caso, puede tener una lista de correo
local, de forma que los mensajes enviados de
lists.mysql.com a su sitio se propagan a la
lista local. En estos casos, por favor contacte con su
administrador de sistemas para ser añadido o borrado de la
lista MySQL local.
Si desea tener el tráfico de una lista de correo en un buzón
de correo separado en su programa de correo, cree un filtro
basado en las cabeceras del mensaje. Puede usar las cabeceras
List-ID: o Delivered-To:
para identificar los mensajes de la lista.
Las listas de correo de MySQL son las siguientes:
-
anunciosEsta lista es para anuncios de nuevas versiones de MySQL y programas relacionados. Esta es una lista de tráfico bajo y a la que todos los usuarios de MySQL deberían suscribirse.
-
mysqlEsta es la lista principal para discusión sobre MySQL en general. Por favor tenga en cuenta que algunas cuestiones es mejor discutirlas en listas más especializadas. Si postea en una lista equivocada, puede no obtener respuesta.
-
bugsEsta lista es para gente que desee estar informada sobre cuestiones reportadas desde la última versión de mySQL o que deseen estar activamente implicadas en el proceso de buscar bugs y arreglarlos. Consulte Sección 1.6.1.3, “Cómo informar de bugs y problemas”.
-
temas internosEsta lista es para gente que trabaja en el código de MySQL. Este también es el fórum para discutir acerca del desarrollo de MySQL y para publicar parches.
-
mysqldocEsta lista es para gente que trabaja en la documentación de MySQL: gente de MySQL AB, traductores, y otros miembros de la comunidad.
-
pruebas de rendimientoEsta lista es para cualquiera interesado en temas de rendimiento. La discusión se concentra en rendimiento de bases de datos ( no sólo de MySQL), pero también incluye categorías más amplias como rendimiento del kernel, sistema de ficheros, tipos de discos, etc.
-
empaquetadoresEsta lista es para discusiones acerca de empaquetar y distribuir MySQL. Este es el fórum usado por mantenedores de distribuciones para intercambiar ideas sobre empaquetar MySQL y asegurar que MySQL parece tan similar como sea posible en todas las plataformas y sistemas operativos soportados.
-
javaEsta lista es para discusionse acerca de MySQL Server y Java. Normalmente se usa para discutir acerca de JDBC, incluyendo el connector/J de MySQL.
-
win32Esta lista es para todos los temas acerca del software MySQL en sistemas operativos Microsoft, tales como Windows 9x, Me, NT, 2000, SP y 2003..
-
myodbcEsta lista es para todos los tópicos acerca de conectar al MySQL Server con ODBC.
-
herramientas guiEsta lista es para todos los temas acerca de herramientas GUI MySQL, incluyendo
MySQL Administratory el cliente gráficoMySQL Control Center. -
clusterEsta lista es para discusión acerca de MySQL Cluster.
-
dotnetEsta lista es para discusión acerca de MySQL Server y la plataforma .NET. La mayoría de discusiones es acerca del Connector/NET MySQL.
-
plusplusEsta lista es para tópicos acerca de programación con la API C++ para MySQL.
-
perlEsta lista es para tópicos acerca de soporte Perl para MySQL con
DBD::mysql.
Si no es capaz de obtener una respuesta a su pregunta de ninguna lista MySQL, una opción es adquirir soporte de MySQL AB. Esto le pondrá en contacto directo con los desarrolladores.
La siguiente tabla muestra algunas listas de correo MySQL en idiomas distintos al inglés. Estas listas no son operadas por MySQL AB.
-
<mysql-france-subscribe@yahoogroups.com>Lista de correo francesa.
-
Lista de correo Koreana. Envíe un correo a
subscribe mysql your@email.addresspara subscribirse a la lista. -
<mysql-de-request@lists.4t2.com>Lista de correo Alemana. Envíe un correo a
subscribe mysql-de your@email.addresspara subscribirse a la lista. Puede encontrar información acerca de esta lista en http://www.4t2.com/mysql/. -
<mysql-br-request@listas.linkway.com.br>Lista de correo Portuguesa. Envíe un correo a
subscribe mysql-br your@email.addresspara subscribirse a la lista. -
Lista de correo Española. Envíe un correo a
subscribe mysql your@email.addresspara subscribirse a la lista.
Antes de reportar un bug o cuestión, por favor haga lo
siguiente:
-
Busque en el manual en línea en
http://dev.mysql.com/doc/.
Intentamos mantener el manual actualizado añadiendo
soluciones a nuevos problemas frecuentemente. El historial
de cambios
(http://dev.mysql.com/doc/mysql/en/News.html)
puede ser particularmente útil ya que es bastante posible
que versiones más actuales tengan soluciones a su
problema.
-
Busque en la base de datos de bugs en
http://bugs.mysql.com/
para ver si el bug ha sido reportado y solucionado.
-
Busque el archivo de las listas de correo MySQL en
http://lists.mysql.com/.
-
También puede usar
http://www.mysql.com/search/
para buscar en todas las páginas web (incluyendo el
manual) que se encuentran en la web de MySQL AB.
Si no puede encontrar una solución en el manual o los
archivos, pruebe con su experto local en MySQL. Si tampoco
puede encontrar una solución a su pregunta, por favor siga
las guías para enviar un correo a las listas de correo MySQL,
explicado en la siguiente sección, antes de contactar con
nosotros.
El sitio normal en el que reportar bugs es
http://bugs.mysql.com/,
que es la dirección de nuestra base de datos de bugs. Esta
base de datos es pública, y puede ser consultada por
cualquiera. Si entra en el sistema, puede añadir nuevos
reportes.
Para escribir un buen reporte de error se necesita paciencia,
pero hacerlo correctamente por primera vez nos ahorra tiempo
tanto a nosotros como a usted mismo. Un buen reporte de bug
que contenga un testeo completo del bug, hace que sea muy
probable que se arregle para la siguiente versión. Esta
sección muestra cómo escribir un reporte correctamente de
forma que no pierda su tiempo haciendo cosas que no nos ayudan
en absoluto.
Animamos a todo el mundo a usar el script
mysqlbug para generar un reporte de bug (o
un reporte acerca de cualquier problema).
mysqlbug puede encontrarse en el directorio
scripts (distribución fuente) y en el
directorio bin en el directorio de
instalación (distribución binaria). Si no es posible usar
mysqlbug (por ejemplo, si utiliza Windows),
es vital que incluya toda la información necesaria que
aparece en esta sección (y lo más importante, una
descripción del sistema operativo y la versión de MySQL).
El script mysqlbug le ayuda a generar un
reporte determinando la mayoría de la información
automáticamente, pero si falta algo importante, por favor
inclúyalo en su mensaje. Por favor, lea esta sección con
cuidado y asegúrese que toda la información descrita aquí
se incluye en su reporte.
Preferiblemente, debe testear el problema usando la última
versión de producción o desarrollo de MySQL server antes de
postear. Cualquiera debería ser capaz de repetir el bug
usando mysql test< script_file en el
caso de test incluído o ejecutando el script de consola o
Perl incluído en el reporte de bug.
Todos los bugs posteados en la base de datos de bugs en
http://bugs.mysql.com/
se corrigen o documentan en la siguiente actualización de
MySQL. Si sólo se necesitan cambios menores en el código
para arreglarlo, podemos postear un parche para arreglarlo.
Si encuentra un fallo importante de seguridad en MySQL, puede
enviar un correo a <security@mysql.com>.
Si tiene un reporte de bug repetible, por favor envíelo a la
base de datos de bugs en
http://bugs.mysql.com/.
Tenga en cuenta que incluso en este caso es bueno ejecutar el
script mysqlbug antes para reunir
información de su sistema. Cualquier bug que seamos capaces
de reproducir tiene una alta probabilidad de arreglarse en la
siguiente versión de MySQL.
Para reportar otros problemas, puede usar cualquiera de las
listas de correo de MySQL.
Recuerde que nos es posible responder un mensaje que contenga
demasiada información, pero no si no contiene suficiente.
Normalmente se omiten los hechos porque se piensa que se
conoce la causa del problema y se asume que algunos detalles
no importan. Un buen principio es el siguiente: si duda acerca
de explicar algo, hágalo. Es más rápido y menos
problemático escribir un par de líneas extra en su reporte
que esperar a la respuesta si debemos preguntar algo que no se
incluya en el reporte inicial.
Los errores más comunes en los reportes de error son (a) no
incluir el número de versión de la distribución MySQL
Server usada, y (b) no escribir completamente la plataforma en
la está instalado MySQL Server (incluyendo el tipo de
plataforma y número de versión). Esta es información
altamente relevante, y en el 99% de los casos el reporte de
bug es inútil sin ella. Muy a menudo nos preguntas
"¿Porqué no me funciona a mí?" Entonces encontramos que
la característica reportada no estaba implementada en esa
versión de MySQL. A veces el error depende de la plataforma;
en esos casos es casi imposible para nosotros arreglar nada
sin saber el sistema operativo y el número de versión de la
plataforma.
Si ha compilado MySQL del código fuente, recuerde en
proporcionar información acerca del compilador, si está
relacionada con el problema. A menudo la gente encuentra
fallos en los compiladores y cree que el problema está
relacionado con MySQL. La mayoría de los compiladores están
bajo desarrollo contínuo y mejoran versión a versión,
necesitamos saber qué compilador usa. Tenga en cuenta que
cada cada problema de compilación debe ser considerado como
un bug y reportado como tal.
Es más útil cuando se incluye una buena descripción del
problema junto al reporte del bug. Esto es dar un buen ejemplo
de todo lo que conduce al problema y describir exactamente el
problema en sí. El mejor reporte es el que incluye un ejemplo
incluyendo cómo reproducir el problema o bug. Consulte
Sección D.1.6, “Crear un caso de prueba tras haber encontrado una tabla corrupta”.
Si un programa produce un mensaje de error es muy importante
incluirlo en el reporte. Si tratamos de buscar algo de los
archivos usando programas, es mejor que el mensaje de error
coincida exactamente con el producido por el programa (incluso
es importante respetar mayúsculas y minúsculas). Nunca debe
intentar reproducir de memoria el mensaje de error; en lugar
de ello, copie el mensaje entero en el reporte.
Si tiene algún problema con el Connector/ODBC (MyODBC), por
favor trate de generar un fichero de traza y enviarlo con su
reporte. Consulte Sección 25.1.1.9, “Cómo reportar problemas y bugs acerca de MyODBC”.
Por favor, recuerde que mucha gente que lea su reporte lo
hará con un monitor de 80 columnas. Cuando genere reportes o
ejemplos usando la columna de línea de comandos
mysql debe usar la opción
--vertical (o el terminador de comando
\G ) para salida que excedería el ancho
disponible para tales monitores ( por ejemplo, con el comando
EXPLAIN SELECT; ( vea el ejemplo al final
de esta sección).
Por favor, incluya la siguiente información en su reporte:
-
El número de la versión de la distribución de MySQL que
usa (por ejemplo, MySQL 4.0.12). Puede consultar la
versión que está usando ejecuntado mysqladmin
version. El programa
mysqladmin puede encontrarse en el
directorio bin bajo el directorio de
instalación.
-
El fabricante y modelo de la máquina en la que
experimenta el problema.
-
Nombre del sistema operativo y versión. Si trabaja con
Windows, puede obtener el nombre y número de versión
haciendo doble click en el icono Mi PC y consultando el
menú "Ayuda/Acerca de Windows". Para la mayoría de
sistemas Unix puede obtener esta información con el
comando uname -a.
-
En ocasiones la cantidad de memoria (real y virtual) es
relevante. Si lo duda, incluya estos valores.
-
Si usa una distribución fuente del software MySQL, el
nombre y número de versión del compilador usado es
necesario.Si usa una distribución binaria, necesita el
nombre de la distribución.
-
Si el problema ocurre durante la compilación, incluya el
mensaje de error exacto y unas cuantas líneas de contexto
alrededor del código en el fichero donde ocurre el error.
-
Si mysqld cae, incluya la consulta que
hizo caer mysqld. Normalmente puede
consultarlo ejecutando mysqld con el
log de consultas activado, y luego consultando el log tras
la caída de mysqld. Consulte
Sección D.1.5, “El uso de registros (logs) para encontrar la causa de errores de mysqld”.
-
Si una base de datos está relacionada con el problema,
incluya la salida del comando mysqldump --no-data
db_name
tbl_name. Este es un
método sencillo y poderoso para obtener información
acerca de cualquier tabla en una base de datos. La
información nos ayuda a crear una situación similar a la
que ha provocado el fallo.
-
Para bugs relacionados con rendimiento o problemas con
consultas SELECT, siempre debe incluir
la salida de EXPLAIN SELECT ..., y como
mínimo el número de filas que el comando
SELECT produce. También puede incluir
la salida de SHOW CREATE TABLE
tbl_name para cada
tabla implicada. Mientras más información tengamos
acerca de la situación, es más posible que podamos
ayudar..
El siguiente es un ejemplo de un reporte muy bueno. Debe
ser posteado con el script mysqlbug. El
ejemplo usa la herramienta por líneas de comando
mysql. Tenga en cuenta el terminador de
comandos \G para comandos cuya salida
exceda las de un monitor de 80 columnas.
mysql> SHOW VARIABLES;
mysql> SHOW COLUMNS FROM ...\G
<salida de SHOW COLUMNS>
mysql> EXPLAIN SELECT ...\G
<salida de EXPLAIN>
mysql> FLUSH STATUS;
mysql> SELECT ...;
<Una pequeña descripción de la salida del SELECT,
incluyendo el tiempo empleado en ejecutar la consulta>
mysql> SHOW STATUS;
<salida de SHOW STATUS>
-
Si ocurre un problema al ejecutar
mysqld, trate de proporcionar un script
de entrada que reproduzca la anomalía. Este script debe
incluir cualquier fichero fuente necesario. Mientras más
fielmente reproduzca el script la situación, mejor. Si
puede hacer un caso de test reproducible, debe postearlo
en
http://bugs.mysql.com/
para un tratamiento prioritario.
Si no puede proporcionar un script, debe como mínimo
incluir la salida de mysqladmin variables
extended-status processlist en su correo para
proporcionar algo de información sobre cómo se está
comportando el sistema.
-
Si no puede proporcionar un caso de test con unas pocas
líneas, o si la tabla de test es demasiado grande para
ser enviada a la lista de correo (más de 10 filas), debe
dumpear sus tablas usando mysqldump y
crear un ficero README que describa
su problema.
Cree un fichero comprimido con sus ficheros usando
tar y gzip o
zip, y use FTP para transferir el
archivo a
ftp://ftp.mysql.com/pub/mysql/upload/.
Después introduzca el problema en nuestra base de datos
en
http://bugs.mysql.com/.
-
Si cree que el servidor MySQL produce un resultado
extraño de una consulta, incluya no sólo el resultado,
sino también su opinión sobre cuál debería ser el
resultado correcto, y una citación describiendo las bases
de su opinión.
-
Cuando de un ejemplo del problema, es mejor usar los
nombres de variables, de tablas, etc. que existan en la
situación en lugar de usar nuevos nombres. El problema
puede estar relacionado con el nombre de una variable o
tabla. Estos casos son raros, pero es mejor estar seguro
que arrepentirse luego. Después de todo, debería ser
más fácil dar un ejemplo que use la situación real y
esto es mejor para nosotros. En caso que tenga datos que
no quiera enseñar, puede usar FTP para transferirlo a
ftp://ftp.mysql.com/pub/mysql/upload/.
Si la información es realmente secreta y no quiere
enseñárnosla, entonces puede proporcionarnos un ejemplo
usando otros nombres, pero por favor, considérelo como la
última opción.
-
Incluya todas las opciones introducidas en los programas
relevantes, si es posible. Por ejemplo, indique las
opiones que usa cuando inicia el servidor
mysqld así como las opciones que usa
cuando ejecuta cualquier programa cliente MySQL. Las
opciones de dichos programas, tales como
mysqld y mysql, y al
script configure , son a menudo claves
para obtener una respuesta y muy relevantes. Nunca es mala
idea incluirlas. Si usa cualquier módulo, como Perl o
PHP, por favor incluya los número de versiones de los
mismos también.
-
Si su pregunta está relacionada con el sistema de
privilegios, por favor incluya la salida de
mysqlaccess, la salida de
mysqladmin reload, y todos los mensajes
de error que obtenga cuando intente conectar. Cuando
testee sus privilegios, debe ejecutar el comando
mysqlaccess. Después, ejecute
mysqladmin reload version y trate de
conectar con el comando que le causa problemas.
mysqlaccess se encuentra en el
directorio bin bajo el directorio de
instalación de MySQL.
-
Si tiene un parche para un bug, inclúyalo. Pero no asuma
que el parche es todo lo que necesitamos o que podemos
usarlo, sin proporcionar alguna información necesaria
como casos de test mostrando el problema que corrige el
parche. Podemos encontrar problemas en su parche o puede
que no lo entendamos en absoluto; en ese caso no podemos
usarlo.
Si no podemos verificar exactamente el propósito del
parche, no lo usaremos. Los casos de test nos ayudan en
este punto. Nos muestran que el parche puede tratar todas
las situaciones que puedan ocurrir. Si encontramos un caso
extremo (incluso uno raro) donde el parche no funcione,
será inútil.
-
Suposiciones acerca de la naturaleza del bug, porqué
ocurre o de qué depende, suelen ser incorrectas. Incluso
el equipo de MySQL no puede adivinar estas cosas sin usar
un debugger para determinar la causa real de un bug.
-
Indique en su reporte que ha chequeado el manual de
referencia y el archivo de correo, de forma que otros
sepan que ha intentado solucionar el problema por sí
mismo.
-
Si obtiene un parse error, por favor
chequee su sintaxis con cuidado. Si no puede encontrar
nada incorrecto en ella, es muy posible que su versión de
MySQL Server no soporte la sintaxis que utiliza. Si está
usando la versión actual y el manual en
http://dev.mysql.com/doc/
no cubre la versión que usa, MySQL Server no soporta su
consulta. En ese caso, sus únicas opciones son
implementar la sintaxis usted mismo o enviar un mail a
<licensing@mysql.com> y pedir una oferta para
implementarlo.
Si el manual cubre la sintaxis que está usando, pero
tiene una versión más antigua de MySQL, compruebe el
historial de cambios de MySQL para ver si la sintaxis ha
sido implementada. En ese caso, tiene la opción de
actualizar a una nueva versión de MySQL Server. Consulte
Apéndice C, Historial de cambios de MySQL.
-
Si su problema es que los datos parecen estar corruptos u
obtiene errores al acceder a una tabla en particular, debe
chequear y tratar de arreglar las tablas con
CHECK TABLE y REPAIR
TABLE o con myisamchk.
Consulte Capítulo 5, Administración de bases de datos.
Si está utilizando Windows, verifique que
lower_case_table_names es 1 o 2 con
SHOW VARIABLES LIKE
'lower_case_table_names'.
-
Si tiene problemas con tablas corruptas a menudo, debe
tratar de encontrar cuándo y porqué ocurre. En este
caso, el log de errores en el directorio de datos de MySQL
puede contener información acerca de qué ha ocurrido.
(Éste es el fichero con el sufijo
.err en el nombre.) Consulte
Sección 5.10.1, “El registro de errroes (Error Log)”. Por favor, incluya cualquier
información relevante de este fichero en su reporte.
Normalmente mysqld
nunca debería corromper una tabla si
nada muere durante una actualización. Si puede encontrar
la causa de un mysqld muriendo, es
mucho más fácil para nosotros encontrar una solución al
problema. Consulte Sección A.1, “Cómo determinar a qué es debido un problema”.
-
Si es posible, descargue e instale la versión más
reciente de MySQL Server y compruebe si resuelve su
problema. Todas las versiones del software MySQL son
testeadas duramente y deberían funcionar sin problemas.
Creemos en hacer todo tan compatible con versiones
anteriores como sea posible, y debería cambiar entre
versiones de MySQL sin dificultades. Consulte
Sección 2.1.2, “Escoger la distribución MySQL a instalar”.
Si es un cliente con soporte, por favor envíe el reporte de
error a <mysql-support@mysql.com> para
tratamiento de alta prioridad, así como a la lista de correo
apropiada para ver si alguien más ha experimentado ( y
quizás resuelto ) el problema.
Para información acerca de reportar errores en MyODBC,
consulte Sección 25.1.1.9, “Cómo reportar problemas y bugs acerca de MyODBC”.
Para soluciones de problemas más comunes, consulte
Apéndice A, Problemas y errores comunes.
Cuando se envían soluciones a usted individualmente y no a la
lista de correo, se considera una buena práctica resumir las
respuestas y enviar el resumen a la lista de correo, de forma
que otros puedan beneficiarse de las respuestas que ha
recibido y que le han ayudado a resolver su problema.
Si considera que su respuesta tiene interés general, puede
postearla en la lista de correo en lugar de responder
directamente al indivíduo que la preguntó. Trate de hacer su
respuesta general para que otras personas a parte de quién
hizo la pregunta, se puedan beneficiar con la respuesta otros
usuarios. Cuando postee a la lista, aségurese que su
respuesta no es una duplicación de otra respuesta.
Trate de resumir la parte esencial de la pregunta en su
respuesta; no se sienta obligado a anotar el mensaje original
entero.
Por favor, no postee un mensaje desde su navegador con el modo
HTML activado. Muchos usuarios no leen el correo con un
navegador
Adicionalmente a las listas de correo MySQL, puede encontrar una
comunidad experimentada en IRC
(Internet Relay Chat). Estos son los mejores
canales que conocemos hoy día:
-
freenode (consulte
http://www.freenode.net/
para servidores)
-
#mysql Básicamentes preguntas sobre
MySQL , pero también de otras bases de datos y
preguntas generales sobre SQL. Preguntas sobre PHP, Perl
o C en combinación con MySQL son frecuentes.
Si busca un cliente IRC para conectar a un canal IRC, consulte
X-Chat
(http://www.xchat.org/).
X-Chat (GPL licensed) está disponible para Unix así como para
Windows (una implementación libre para Windows sobre X-Chat
está disponible en
http://www.silverex.org/download/).
El último recurso de soporte para la comunidad son los foros en
http://forums.mysql.com.
Hay una variedad de foros disponibles, agrupados en las
siguientes categorías generales:
-
Migración
-
Uso de MySQL
-
Conectores MySQL
-
Tecnología MySQL
-
Negocios