mysql 5.0 métodos de encriptación

4
Funciones de cifrado 632 ~ Invierte todos los bits. mysql> SELECT 5 & ~1; -> 4 El resultado es un entero de 64 bits. BIT_COUNT(N) Retorna el número de bits en el argumento N. mysql> SELECT BIT_COUNT(29); -> 4 12.9.2. Funciones de cifrado Las funciones en esta sección cifran y descifran valores. Si quiere almacenar resultados de una función de cifrado que puede contaner valores arbitrarios de bytes, use una columna BLOB en lugar de CHAR o VARCHAR para evitar problemas potenciales con eliminación de espacios finales que pueden cambiar los valores de datos. AES_ENCRYPT(str,key_str) , AES_DECRYPT(crypt_str,key_str) Estas funciones permiten el cifrado y descifrado de datos usando el algoritmo oficial AES (Advanced Encryption Standard), conocido anteriormente como "Rijndael." Se usa un cifrado con una clave de 128-bit, pero puede ampliarlo hasta 256 bits modificando las fuentes. Elegimos 128 porque es mucho más rápido y de momento es suficientemente seguro. Los argumentos de entrada pueden ser de cualquier longitud. Si algún argumento es NULL, el resultado de esta función también es NULL. Debido a que AES es un algoritmo a nivel de bloques, se usa relleno para cadenas de longitud impar y así la longitud de la cadena resultante puede calcularse como 16 * (trunc(string_length / 16) + 1). Si AES_DECRYPT() detecata datos inválidos o relleno incorrecto, retorna NULL. Sin embargo, es posible para AES_DECRYPT() retornar un valor no NULL (posiblemente basura) si los datos de entrada o la clave son inválidos. Puede usar la función AES para almacenar datos de forma cifrada modificando sus consultas: INSERT INTO t VALUES (1,AES_ENCRYPT('text','password')); Puede obtener incluso mejor seguridad si no transfiere la clave a través de la conexión para cada consulta, que puede hacerse almacenando la clave en una variable del servidor al hacer la conexión. Por ejemplo: SELECT @password:='my password'; INSERT INTO t VALUES (1,AES_ENCRYPT('text',@password)); AES_ENCRYPT() y AES_DECRYPT() pueden considerarse las funciones de cifrado criptográficamente más seguras disponibles en MySQL.

Upload: edson-gmz-vdl

Post on 16-Sep-2015

262 views

Category:

Documents


16 download

DESCRIPTION

Metodos de encriptación utilizados por MySql en su versión 5.0

TRANSCRIPT

  • Funciones de cifrado

    632

    ~

    Invierte todos los bits.

    mysql> SELECT 5 & ~1; -> 4

    El resultado es un entero de 64 bits.

    BIT_COUNT(N)

    Retorna el nmero de bits en el argumento N.

    mysql> SELECT BIT_COUNT(29); -> 4

    12.9.2. Funciones de cifradoLas funciones en esta seccin cifran y descifran valores. Si quiere almacenar resultados de unafuncin de cifrado que puede contaner valores arbitrarios de bytes, use una columna BLOB en lugar deCHAR o VARCHAR para evitar problemas potenciales con eliminacin de espacios finales que puedencambiar los valores de datos.

    AES_ENCRYPT(str,key_str) , AES_DECRYPT(crypt_str,key_str)

    Estas funciones permiten el cifrado y descifrado de datos usando el algoritmo oficial AES (AdvancedEncryption Standard), conocido anteriormente como "Rijndael." Se usa un cifrado con una clavede 128-bit, pero puede ampliarlo hasta 256 bits modificando las fuentes. Elegimos 128 porque esmucho ms rpido y de momento es suficientemente seguro.

    Los argumentos de entrada pueden ser de cualquier longitud. Si algn argumento es NULL, elresultado de esta funcin tambin es NULL.

    Debido a que AES es un algoritmo a nivel de bloques, se usa relleno para cadenas delongitud impar y as la longitud de la cadena resultante puede calcularse como 16 *(trunc(string_length / 16) + 1).

    Si AES_DECRYPT() detecata datos invlidos o relleno incorrecto, retorna NULL. Sin embargo, esposible para AES_DECRYPT() retornar un valor no NULL (posiblemente basura) si los datos deentrada o la clave son invlidos.

    Puede usar la funcin AES para almacenar datos de forma cifrada modificando sus consultas:

    INSERT INTO t VALUES (1,AES_ENCRYPT('text','password'));

    Puede obtener incluso mejor seguridad si no transfiere la clave a travs de la conexin paracada consulta, que puede hacerse almacenando la clave en una variable del servidor al hacer laconexin. Por ejemplo:

    SELECT @password:='my password';INSERT INTO t VALUES (1,AES_ENCRYPT('text',@password));

    AES_ENCRYPT() y AES_DECRYPT() pueden considerarse las funciones de cifradocriptogrficamente ms seguras disponibles en MySQL.

  • Funciones de cifrado

    633

    DECODE(crypt_str,pass_str)

    Descifra la cadena cifrada crypt_str usando pass_str como contrasea. crypt_str debe seruna cadena retornada de ENCODE().

    ENCODE(str,pass_str)

    Cifra str usando pass_str como contrasea. Para descifrar el resultado, use DECODE().

    El resultado es una cadena binaria de la misma longitud que str. Si quiere guardarlo en unacolumna, use una columna de tipo BLOB .

    DES_DECRYPT(crypt_str[,key_str])

    Descifra una cadena cifrada con DES_ENCRYPT(). En caso de error, esta funcin retorna NULL.

    Tenga en cuenta que esta funcin funciona slo si MySQL se configura con soporte SSL. ConsulteSeccin 5.7.7, Usar conexiones seguras.

    Si no se da argumento key_str, DES_DECRYPT() examina el primer byte de la cadena cifradapara determinar el nmero de clave DES que se us para cifrar la cadena original, y luego lee laclave del fichero clave DES para descifrar el mensaje. Para que esto funcione, el usuario debe tenerel privilegio SUPER. El fichero clave puede especificarse con la opcin del servidor --des-key-file .

    Si le pasa a esta funcin el argumento key_str , esta cadena se usa como la clave para descifrarel mensaje.

    Si el argumento crypt_str no parece una cadena cifrada, MySQL retorna crypt_str.

    DES_ENCRYPT(str[,(key_num|key_str)])Cifra la cadena con la clave dada usando el algoritmo triple-DES. En caso de error, retorna NULL.

    Tenga en cuenta que esta funcin funciona slo si MySQL se configura con soporte SSL. ConsulteSeccin 5.7.7, Usar conexiones seguras.

    La clave de cifrado a usar se elige basada en el segundo argumento de DES_ENCRYPT(), si se hadado uno:

    Argumento DescripcinSin argumento Se usa la primera clave del fichero clave DES.key_num El nmero de clave dado (0-9) del fichero clave DES se usa.key_str Se usa la cadena clave dada para cifrar str.

    El fichero clave puede especificarse con la opcin de servidor --des-key-file .

    La cadena retornada es una cadena binaria donde el primer carcter es CHAR(128 | key_num).Se aade 128 para hacer ms sencillo reconocer una clave cifrada. Si usa una cadena clave,key_num es 127.

  • Funciones de cifrado

    634

    La longitud de la cadena para el resultado es new_len = orig_len + (8-(orig_len %8))+1.

    Cada lnea en el fichero clave DES tiene el siguiente formato:

    key_num des_key_str

    Cada key_num debe ser un nmero en el rango de 0 a 9. Las lneas en el fichero pueden estar encualquier orden. des_key_str es la cadena que se usa para cifrar el mensaje. Entre el nmero yla clave debe haber un espacio como mnimo. La primera clave es la clave usada por defecto si noespecifica ningn argumento clave para DES_ENCRYPT()

    Puede decir a MySQL que lea un nuevo valor de clave del fichero clave con el comando FLUSHDES_KEY_FILE. Esto necesita el privilegio RELOAD .

    Un beneficio de tener un conjunto de claves por defecto es que da a las aplicaciones una formade chequear la existencia de valores de columna cifrados, sin dar al usuario final el derecho dedescifrarlos.

    mysql> SELECT customer_address FROM customer_table > WHERE crypted_credit_card = DES_ENCRYPT('credit_card_number');

    ENCRYPT(str[,salt])

    Cifra str usando la llamada de sistema Unix crypt() . El argumento salt debe ser una cadenacon al menos dos caracteres. Si no se da argumento salt , se usa un valor aleatorio.

    mysql> SELECT ENCRYPT('hello'); -> 'VxuFAJXVARROc'

    ENCRYPT() ignora todo excepto los primeros ochos caracteres de str, al menos en algunossistemas. Este comportamiento viene determinado por la implementacin de la llamada de sistemacrypt() subyacente.

    Si crypt() no est disponible en su sistema (como pasa en Windows), ENCRYPT() siempreretorna NULL. Debido a esto, recomandamos que use MD5() o SHA1() en su lugar, y que estas dosfunciones existen en todas las plataformas.

    MD5(str)

    Calcula una checksum MD5 de 128-bit para la cadena. El valor se retorna como una cadena binariade dgitos 32 hex ,o NULL si el argumento era NULL. El valor de retorno puede usarse como clavehash, por ejemplo.

    mysql> SELECT MD5('testing'); -> 'ae2b1fca515949e5d54fb22b8ed95575'

    Este es el "RSA Data Security, Inc. MD5 Message-Digest Algorithm."

    Si quiere convertir el valor a maysculas, consulte la descripcin de conversiones de cadenasbinarias dada en la entrada del operador BINARY en Seccin 12.8, Funciones y operadores decast.

  • Funciones de informacin

    635

    OLD_PASSWORD(str)

    OLD_PASSWORD() se aadi en MySQL 4.1,cuando se cambin la implementacin de PASSWORD()para mejorar la seguridad. OLD_PASSWORD() retorna el valor de la implementacin pre-4.1 dePASSWORD(), y est hecha para permitirle resetear contraseas para cualquier cliente pre-4.1que necesite conectar a su versin 4.1 o posterior de MySQL server sin bloquearlo. ConsulteSeccin 5.6.9, Hashing de contraseas en MySQL 4.1.

    PASSWORD(str)

    Calcula y retorna una cadena de contrasea de la contrasea en texto plano str, o NULL si elargumento era NULL. Esta es la funcin que se usa para cifrar contraseas MySQL para almacenaren la columna Password de la tabla user .

    mysql> SELECT PASSWORD('badpwd'); -> '7f84554057dd964b'

    El cifrado de PASSWORD() es de un sentido (no reversible).

    PASSWORD() no realiza el cifrado de contrasea de la misma forma que se cifran las contraseasUnix. Consulte ENCRYPT().

    Nota: La funcin PASSWORD() se usa por el sistema de autenticacin en MySQL Server; no nodebe usarlo en su propias aplicaciones. Para ese propsito, use MD5() o SHA1() en su lugar.Consulte RFC 2195 para ms informacin acerca de tratar contraseas y autenticacin de formasegura en su aplicacin.

    SHA1(str), SHA(str)

    Calcula una checksum SHA1 de 160-bit para la cadena, como se describe en RFC 3174 (SecureHash Algorithm). El valor se retorna como cadnea de 40 dtigos hexadecimales, o NULL si elargumento era NULL. Uno de los usos posibles para esta funcin es una clave hash. Tambin puedeusarlo como funcin criptogrficamente segura para almacenar contraseas

    mysql> SELECT SHA1('abc'); -> 'a9993e364706816aba3e25717850c26c9cd0d89d'

    SHA1() puede considerarse un equivalente criptogrficamente ms seguro que MD5(). SHA() essinnimo de SHA1().

    12.9.3. Funciones de informacin BENCHMARK(count,expr)

    La funcin BENCHMARK() ejecuta la expresin expr repetidamente count veces. Puede usarsepara ver lo rpido que MySQL procesa la expresin. El valor resultado siempre es 0. El usopretendido es desde dentro del cliente mysql, que reporte tiempos de ejecucin de consultas:

    mysql> SELECT BENCHMARK(1000000,ENCODE('hello','goodbye'));+----------------------------------------------+

    | BENCHMARK(1000000,ENCODE('hello','goodbye')) |+----------------------------------------------+

    | 0 |+----------------------------------------------+

    1 row in set (4.74 sec)

    MySQL 5.0 Reference ManualTabla de contenidosPrefacioCaptulo 1. Informacin general1.1. Sobre este manual1.2. Convenciones utilizadas en este manual1.3. Panormica de MySQL AB1.4. Panormica del sistema de gestin de base de datos MySQL1.4.1. Historia de MySQL1.4.2. Las principales caractersticas de MySQL1.4.3. Estabilidad de MySQL1.4.4. Dimensiones mximas de las tablas MySQL1.4.5. Conformidad con el efecto 2000

    1.5. Mapa de desarrollo de MySQL1.5.1. El servidor MySQL incrustado (embedded)1.5.2. Qu hay de nuevo en MySQL 5.0

    1.6. Fuentes de informacin acerca de MySQL1.6.1. Listas de correo de MySQL1.6.1.1. Las listas de correo de MySQL1.6.1.2. Hacer preguntas y reportar bugs1.6.1.3. Cmo informar de bugs y problemas1.6.1.4. Gua para la contestacin de preguntas en las listas de correo

    1.6.2. Soporte por IRC (Internet Relay Chat) de la comunidad MySQL1.6.3. Soporte por parte de la comunidad en los foros de MySQL

    1.7. Cumplimiento de los estndares por parte de MySQL1.7.1. Estndares utilizados por MySQL1.7.2. Seleccin de modos SQL1.7.3. Ejecutar MySQL en modo ANSI1.7.4. Extensiones MySQL al estndar SQL1.7.5. Diferencias en MySQL del estndar SQL1.7.5.1. Subconsultas1.7.5.2. SELECT INTO TABLE1.7.5.3. Transacciones y operaciones atmicas1.7.5.4. Procedimientos almacenados (stored procedures) y disparadores (triggers)1.7.5.5. Claves forneas (foreign keys)1.7.5.6. Vistas1.7.5.7. Empezar un comentario con '--'

    1.7.6. Cmo trata MySQL las restricciones (Constraints)1.7.6.1. Restricciones (constraints) en los ndices PRIMARY KEY y UNIQUE1.7.6.2. Restricciones (constraints) sobre datos invlidos1.7.6.3. Restricciones ENUM y SET

    Captulo 2. Instalar MySQL2.1. Cuestiones generales sobre la instalacin2.1.1. Sistemas operativos que MySQL soporta2.1.2. Escoger la distribucin MySQL a instalar2.1.2.1. Escoger la versin de MySQL a instalar2.1.2.2. Escoger un formato de distribucin2.1.2.3. Cmo y cundo se entregan las actualizaciones2.1.2.4. Filosofa de las entregasNo hay bugs conocidos en las entregas2.1.2.5. Binarios de MySQL compilados por MySQL AB

    2.1.3. Cmo obtener MySQL2.1.4. Comprobar la integridad de paquetes con sumas de verificacin MD5 o GnuPG2.1.4.1. Comprobar la suma de verificacin MD52.1.4.2. Verificacin de firmas utilizando GnuPG2.1.4.3. Verificar firmas utilizando RPM

    2.1.5. Conformacin de la instalacin

    2.2. Instalacin MySQL estndar con una distribucin binaria2.3. Instalar MySQL en Windows2.3.1. Requisitos de Windows2.3.2. Eleccin de un paquete de instalacin2.3.3. Instalacin de MySQL con un instalador automtico2.3.4. Usar el asistente de instalacin de MySQL2.3.4.1. Introduccin2.3.4.2. Bajarse y arrancar el asistente de instalacin de MySQL2.3.4.3. Escoger un tipo de instalacin2.3.4.4. La ventana de dilogo de instalacin personalizada2.3.4.5. La ventana de dilogo de confirmacin2.3.4.6. Cambios que realiza el asistente de instalacin MySQL2.3.4.7. Aumentar la versin MySQL

    2.3.5. Utilizacin del asistente de configuracin2.3.5.1. Introduccin2.3.5.2. Arrancar el asistente de configuracin de MySQL2.3.5.3. Escoger una opcin de mantenimiento2.3.5.4. Escoger un tipo de configuracin2.3.5.5. La ventana de dilogo del tipo de servidor2.3.5.6. La ventana de dilogo Base de datos2.3.5.7. La ventana de dilogo del espacio de tablas InnoDB2.3.5.8. La ventana de dilogo de conexiones concurrentes2.3.5.9. La ventana de dilogo de redes2.3.5.10. La ventana de dilogo del conjunto de caracteres2.3.5.11. La ventana de dilogo de las opciones de servicio2.3.5.12. La ventana de dilogo de las opciones de seguridad2.3.5.13. La ventana de dilogo de confirmacin2.3.5.14. Dnde est el fichero my.ini2.3.5.15. Editar el fichero my.ini

    2.3.6. Instalar MySQL partiendo de un archivo Zip Noinstall2.3.7. Descomprimir el fichero de instalacin2.3.8. Creacin de un fichero de opciones2.3.9. Seleccionar un tipo de servidor MySQL2.3.10. Arrancar el servidor la primera vez2.3.11. Arrancar MySQL desde la lnea de comandos de Windows2.3.12. Arrancar MySQL como un servicio de Windows2.3.13. Comprobar la instalacin de MySQL Installation2.3.14. Resolucin de problemas en la instalacin de MySQL bajo Windows2.3.15. Aumentar la versin de MySQL en Windows2.3.16. Comparacin entre MySQL en Windows y MySQL en Unix

    2.4. Instalar MySQL en Linux2.5. Instalar MySQL en Mac OS X2.6. Instalar MySQL sobre NetWare2.7. Instalacin de MySQL en otros sistemas similares a Unix2.8. Instalacin de MySQL usando una distribucin de cdigo fuente2.8.1. Panormica de la instalacin de cdigo fuente2.8.2. Opciones tpicas de configure2.8.3. Instalar desde el rbol de cdigo fuente de desarrollo2.8.4. Problemas en la compilacin de MySQL2.8.5. Notas sobre MIT-pthreads2.8.6. Instalar MySQL desde el cdigo fuente en Windows2.8.6.1. Generar MySQL usando VC++2.8.6.2. Crear un paquete de cdigo fuente Windows a partir de la ltima fuente de desarrollo

    2.8.7. Compilar los clientes de MySQL en Windows

    2.9. Puesta en marcha y comprobacin despus de la instalacin2.9.1. Pasos a seguir despus de la instalacin en Windows2.9.2. Pasos a seguir despus de la instalacin en Unix2.9.2.1. Problemas en la ejecucin de mysql_install_db2.9.2.2. Arrancar y parar MySQL automticamente2.9.2.3. Arrancar y resolver problemas del servidor MySQL

    2.9.3. Hacer seguras las cuentas iniciales de MySQL

    2.10. Aumentar la versin de MySQL2.10.1. Aumentar la versin de 4.1 a 5.02.10.2. Aumentar la versin de las tablas de privilegios2.10.3. Copiar bases de datos MySQL a otra mquina

    2.11. Bajar la versin de MySQL2.11.1. Volver a la versin 4.1

    2.12. Notas especficas sobre sistemas operativos2.12.1. Notas sobre Linux2.12.1.1. Notas sobre el sistema operativo Linux2.12.1.2. Notas sobre la distribucin binaria de Linux2.12.1.3. Notas sobre la distribucin de cdigo fuente para Linux2.12.1.4. Notas para despus de la instalacin en Linux2.12.1.5. Notas sobre Linux x862.12.1.6. Notas sobre Linux SPARC2.12.1.7. Notas sobre Linux Alpha2.12.1.8. Notas sobre Linux PowerPC2.12.1.9. Notas sobre Linux MIPS2.12.1.10. Notas sobre Linux IA-64

    2.12.2. Notas sobre Mac OS X2.12.2.1. Mac OS X 10.x (Darwin)2.12.2.2. Servidor Mac OS X 1.2 (Rhapsody)

    2.12.3. Notas sobre Solaris2.12.3.1. Notas sobre Solaris 2.7/2.82.12.3.2. Notas sobre Solaris x86

    2.12.4. Notas sobre BSD2.12.4.1. Notas sobre FreeBSD2.12.4.2. Notas sobre NetBSD2.12.4.3. Notas sobre OpenBSD 2.52.12.4.4. Notas sobre OpenBSD 2.82.12.4.5. Notas sobre BSD/OS Version 2.x2.12.4.6. Notas sobre BSD/OS Version 3.x2.12.4.7. Notas sobre BSD/OS Version 4.x

    2.12.5. Notas sobre otros Unix2.12.5.1. Notas sobre HP-UX Version 10.202.12.5.2. Notas sobre HP-UX Version 11.x2.12.5.3. Notas sobre IBM-AIX2.12.5.4. Notas sobre SunOS 42.12.5.5. Notas Alpha-DEC-UNIX (Tru64)2.12.5.6. Notas sobre Alpha-DEC-OSF/12.12.5.7. Notas sobre SGI Irix2.12.5.8. Notas sobre SCO UNIX y OpenServer 5.0.x2.12.5.9. Notas sobre SCO UnixWare 7.1.x y OpenUNIX 8.0.02.12.5.10. Notas sobre SCO OpenServer 6.0.x

    2.12.6. Notas sobre OS/2

    2.13. Notas sobre la instalacin de Perl2.13.1. Instalacin de Perl en Unix2.13.2. Instalar ActiveState Perl en Windows2.13.3. Problemas en la utilizacin de la interfaz Perl DBI/DBD

    Captulo 3. Curso (tutorial) de MySQL3.1. Conectarse al y desconectarse del servidor3.2. Entrar consultas3.3. Crear y utilizar una base de datos3.3.1. Crear y seleccionar una base de datos3.3.2. Crear una tabla3.3.3. Cargar datos en una tabla3.3.4. Extraer informacin de una tabla3.3.4.1. Seleccionar todos los datos3.3.4.2. Seleccionar registros especficos3.3.4.3. Seleccionar columnas concretas3.3.4.4. Ordenar registros3.3.4.5. Clculos sobre fechas3.3.4.6. Trabajar con valores NULL3.3.4.7. Coincidencia de patrones3.3.4.8. Contar registros3.3.4.9. Utilizar ms de una tabla

    3.4. Obtener informacin sobre bases de datos y tablas3.5. Usar mysql en modo batch3.6. Ejemplos de consultas comunes3.6.1. El valor mximo de una columna3.6.2. El registro que tiene el valor mximo de determinada columna3.6.3. Mximo de columna por grupo3.6.4. Los registros de un grupo que tienen el mximo valor en alguna columna3.6.5. Utilizacin de variables de usuario3.6.6. Usar claves forneas (foreign keys)3.6.7. Buscar usando dos claves3.6.8. Calcular visitas diarias3.6.9. Utilizacin de AUTO_INCREMENT

    3.7. Consultas del proyecto Mellizos (Twin)3.7.1. Encontrar todos los mellizos no repartidos3.7.2. Mostrar una tabla de estado de mellizos

    3.8. Usar MySQL con Apache

    Captulo 4. Usar los programas MySQL4.1. Panormica de programas MySQL4.2. Invocar programas MySQL4.3. Especificar opciones de programa4.3.1. Usar opciones en la lnea de comandos4.3.2. Usar ficheros de opciones4.3.3. Usar variables de entorno para especificar opciones4.3.4. Utilizacin de opciones para establecer variables de programa

    Captulo 5. Administracin de bases de datos5.1. El servidor MySQL y scripts de arranque del servidor5.1.1. Panormica de los programas scripts y las utilidades del lado del servidor (server-side)5.1.2. El servidor extendido de MySQL mysqld-max5.1.3. El script de arranque del servidor mysqld_safe5.1.4. El script mysql.server para el arranque del servidor5.1.5. El programa mysqld_multi para gestionar mltiples servidores MySQL

    5.2. El gestor de instancias de MySQL5.2.1. Arrancar el servidor MySQL con el gestor de instancias MySQL5.2.2. Conexin al gestor de instancias de MySQL y creacin de cuentas de usuario5.2.3. Opciones de los comandos del gestor de instancias MySQL5.2.4. Ficheros de configuracin del gestor de instancias de MySQL5.2.5. Los comandos que reconoce el gestor de instancias de MySQL

    5.3. Configuracin del servidor MySQL5.3.1. Opciones del comando mysqld5.3.2. El modo SQL del servidor5.3.3. Variables de sistema del servidor5.3.3.1. Variables de sistema dinmicas

    5.3.4. Variables de estado del servidor

    5.4. El proceso de cierre del servidor MySQL5.5. Cuestiones de seguridad general5.5.1. Gua de seguridad general5.5.2. Hacer que MySQL sea seguro contra ataques5.5.3. Opciones de arranque para mysqld relacionadas con la seguridad5.5.4. Cuestiones relacionadas con la seguridad y LOAD DATA LOCAL

    5.6. El sistema de privilegios de acceso de MySQL5.6.1. Qu hace el sistema de privilegios5.6.2. Cmo funciona el sistema de privilegios5.6.3. Privilegios de los que provee MySQL5.6.4. Conectarse al servidor MySQL5.6.5. Control de acceso, nivel 1: Comprobacin de la conexin5.6.6. Control de acceso, nivel 2: comprobacin de solicitudes5.6.7. Cundo tienen efecto los camios de privilegios5.6.8. Causas de errores Access denied5.6.9. Hashing de contraseas en MySQL 4.15.6.9.1. Implicacin del cambio en el hashing de contraseas en aplicativos

    5.7. Gestin de la cuenta de usuario MySQL5.7.1. Nombres de usuario y contraseas de MySQL5.7.2. Aadir nuevas cuentas de usuario a MySQL5.7.3. Eliminar cuentas de usuario de MySQL5.7.4. Limitar recursos de cuentas5.7.5. Asignar contraseas a cuentas5.7.6. Guardar una contrasea de forma segura5.7.7. Usar conexiones seguras5.7.7.1. Conceptos bsicos de SSL5.7.7.2. Requisitos (OpenSSL)5.7.7.3. Montar certificados SSL para MySQL5.7.7.4. Opciones SSL de GRANT5.7.7.5. Opciones relativas a SSL5.7.7.6. Conectarse desde Windows a MySQL remotamente con SSH

    5.8. Prevencin de desastres y recuperaciones5.8.1. Copias de seguridad de bases de datos5.8.2. Ejemplo de estrategia de copias de seguridad y recuperacin5.8.2.1. Poltica de copias de seguridad5.8.2.2. Usar copias de seguridad para una recuperacin5.8.2.3. Sumario de la estrategia de copias de seguridad

    5.8.3. Mantenimiento de tablas y recuperacin de un fallo catastrfico (crash)5.8.3.1. Sintaxis para invocar myisamchk5.8.3.2. Opciones generales demyisamchk5.8.3.3. Opciones de myisamchk para comprobar tablas5.8.3.4. Opciones de myisamchk para reparar tablas5.8.3.5. Otras opciones de myisamchk5.8.3.6. Utilizacin de la memoria por parte de myisamchk5.8.3.7. Usar myisamchk para recuperacin de desastres5.8.3.8. Cmo comprobar tablas MyISAM en busca de errores5.8.3.9. Cmo reparar tablas5.8.3.10. Optimizacin de tablas

    5.8.4. Organizar un programa de mantenimiento de tablas5.8.5. Obtener informacin acerca de una tabla

    5.9. Uso internacional y localizacin de MySQL5.9.1. El conjunto de caracteres utilizado para datos y ordenacin5.9.1.1. Usar el conjunto de caracteres alemn

    5.9.2. Escoger el idioma de los mensajes de error5.9.3. Aadir un conjunto de caracteres nuevo5.9.4. Los vectores de definicin de caracteres5.9.5. Soporte para colacin de cadenas de caracteres5.9.6. Soporte de caracteres multi-byte5.9.7. Problemas con conjuntos de caracteres5.9.8. Soporte de zonas horarias en el servidor MySQL

    5.10. Los ficheros de registro (log) de MySQL5.10.1. El registro de errroes (Error Log)5.10.2. El registro general de consultas5.10.3. El registro binario (Binary Log)5.10.4. El registro de consultas lentas (Slow Query Log)5.10.5. Mantenimiento de ficheros de registro (log)

    5.11. Ejecutar ms de un servidor MySQL en la misma mquina5.11.1. Ejecutar varios servidores en Windows5.11.1.1. Arrancar mltiples servidores desde la lnea de comandos en Windows5.11.1.2. arrancar varios servidores Windows como servicios

    5.11.2. Ejecutar varios servidores en Unix5.11.3. Utilizacin de programas cliente en un entorno de mltiples servidores

    5.12. La cach de consultas de MySQL5.12.1. Cmo opera la cach de consultas5.12.2. Opciones de SELECT para la cach de consultas5.12.3. Configuracin de la cach de consultas5.12.4. Estado y mantenimiento de la cach de consultas

    Captulo 6. Replicacin en MySQL6.1. Introduccin a la replicacin6.2. Panormica de la implementacin de la replicacin6.3. Detalles de la implementacin de la replicacin6.3.1. Estados de los subprocesos del maestro de replicacin6.3.2. Estados de proceso E/S (I/O) del esclavo de replicacin6.3.3. Estados del flujo SQL de un esclavo de replicacin6.3.4. Ficheros de replicacin, retardados y de estado

    6.4. Cmo montar la replicacin6.5. Compatibilidad entre versiones de MySQL con respecto a la replicacin6.6. Aumentar la versin de la replicacin6.6.1. Aumentar la versin de la replicacin a 5.0

    6.7. Caractersticas de la replicacin y problemas conocidos6.8. Opciones de arranque de replicacin6.9. Preguntas y respuestas sobre replicacin6.10. Resolucin de problemas de replicacin6.11. Reportar bugs de replicacin

    Captulo 7. Optimizacin de MySQL7.1. Panormica sobre optimizacin7.1.1. Limitaciones y soluciones de compromiso en el diseo de MySQL7.1.2. Disear aplicaciones pensando en la portabilidad7.1.3. Para qu hemos usado MySQL7.1.4. El paquete de pruebas de rendimiento (benchmarks) de MySQL7.1.5. Usar pruebas de rendimiento (benchmarks) propios

    7.2. Optimizar sentencias SELECT y otras consultas7.2.1. Sintaxis de EXPLAIN (Obtener informacin acerca de un SELECT)7.2.2. Estimar el renidimiento de una consulta7.2.3. Velocidad de las consultas SELECT7.2.4. Optimizacin de las clusulas WHERE por parte de MySQL7.2.5. Optimizacin de rango7.2.5.1. Mtodo de acceso a rango para ndices simples7.2.5.2. Range Access Method for Multiple-Part Indexes

    7.2.6. Index Merge Optimization7.2.6.1. Index Merge Intersection Access Algorithm7.2.6.2. Algoritmo de acceso a Index Merge Union Access Algorithm7.2.6.3. Index Merge Sort-Union Access Algorithm

    7.2.7. Cmo optimiza MySQL IS NULL7.2.8. Cmo MySQL optimiza DISTINCT7.2.9. Cmo optimiza MySQL los LEFT JOIN y RIGHT JOIN7.2.10. Cmo optimiza MySQL ORDER BY7.2.11. Cmo optimiza MySQL los GROUP BY7.2.11.1. Loose index scan7.2.11.2. Tight index scan

    7.2.12. Cmo optimiza MySQL las clusulas LIMIT7.2.13. Cmo evitar lecturas completas de tablas7.2.14. Velocidad de la sentencia INSERT7.2.15. Velocidad de las sentencias UPDATE7.2.16. Velocidad de sentencias DELETE7.2.17. Otros consejos sobre optimizacin

    7.3. Temas relacionados con el bloqueo7.3.1. Mtodos de bloqueo7.3.2. Cuestiones relacionadas con el bloqueo (locking) de tablas

    7.4. Optimizar la estructura de una base de datos7.4.1. Elecciones de diseo7.4.2. Haga sus datos lo ms pequeos posibles7.4.3. ndices de columna7.4.4. ndices de mltiples columnas7.4.5. Cmo utiliza MySQL los ndices7.4.6. La cach de claves de MyISAM7.4.6.1. Acceso compartido a la cach de claves7.4.6.2. Mltiples cachs de claves7.4.6.3. Midpoint Insertion Strategy7.4.6.4. Precarga de ndices7.4.6.5. Tamao de bloque de la cach de claves7.4.6.6. Reestructurar la cach de claves

    7.4.7. Cmo cuenta MySQL las tablas abiertas7.4.8. Cmo abre y cierra tablas MySQL7.4.9. Desventajas de crear muchas tablas en la misma base de datos

    7.5. Optimizacin del servidor MySQL7.5.1. Factores de sistema y afinamientos de parmetros de arranque7.5.2. Afinar parmetros del servidor7.5.3. Vigilar el rendimiento del optimizador de consultas7.5.4. Efectos de la compilacin y del enlace en la velocidad de MySQL7.5.5. Cmo utiliza MySQL la memoria7.5.6. Cmo usa MySQL las DNS

    7.6. Cuestiones relacionadas con el disco7.6.1. Utilizar enlaces simblicos7.6.1.1. Utilizacin de enlaces simblicos para bases de datos en Unix7.6.1.2. Utilizacin de enlaces simblicos para tablas en Unix7.6.1.3. Usar enlaces simblicos para bases de datos en Windows

    Captulo 8. Programas cliente y utilidades MySQL8.1. Panormica de scripts y utilidades del lado del cliente8.2. myisampack, el generador de tablas comprimidas de slo lectura de MySQL8.3. La herramienta intrprete de comandos mysql8.3.1. Comandos mysql8.3.2. Ejecutar sentencias SQL desde un fichero de texto8.3.3. Sugerencias acerca de mysql8.3.3.1. Mostrar resultados de consultas verticalmente8.3.3.2. Usar la opcin --safe-updates8.3.3.3. Deshabilitar las reconexiones automticas de mysql

    8.4. Administrar un servidor MySQL con mysqladmin8.5. La utilidad mysqlbinlog para registros binarios8.6. El programa mysqlcheck para mantener y reparar tablas8.7. El programa de copia de seguridad de base de datos mysqldump8.8. El programa de copias de seguridad de base de datos mysqlhotcopy8.9. El programa para importar datos mysqlimport8.10. Mostrar bases de datos, tablas y columnas con mysqlshow8.11. perror, explicacin de cdigos de error8.12. La utilidad replace de cambio de cadenas de caracteres

    Captulo 9. Estructura de lenguaje9.1. Valores literales9.1.1. Cadenas de caracteres9.1.2. Nmeros9.1.3. Valores hexadecimales9.1.4. Valores booleanos9.1.5. Valores de bits9.1.6. Valores NULL

    9.2. Nombres de bases de datos, tablas, ndices, columnas y alias9.2.1. Cualificadores de los identificadores9.2.2. Sensibilidad a maysuclas y minsculas de identificadores

    9.3. Variables de usuario9.4. Variables de sistema9.4.1. Variables estructuradas de sistema

    9.5. Sintaxis de comentarios9.6. Tratamiento de palabras reservadas en MySQL

    Captulo 10. Soporte de conjuntos de caracteres10.1. Conjuntos de caracteres y colaciones en general10.2. Conjuntos de caracteres y colaciones en MySQL10.3. Determinar el conjunto de caracteres y la colacin por defecto10.3.1. Conjunto de caracteres y colacin del servidor10.3.2. Conjuntos de caracteres y colaciones de la base de datos10.3.3. Conjunto de caracteres y colacin de tabla10.3.4. Conjunto de caracteres y colacin de columnas10.3.5. Ejemplos de asignacin de conjunto de caracteres y colacin10.3.6. Conjunto de caracteres y colacin de la conexin10.3.7. Conjunto de caracteres y colacin de columnas carcter10.3.8. Usar COLLATE en sentencias SQL10.3.9. Precedencia de la clusula COLLATE10.3.10. Operador BINARY10.3.11. Casos especiales en los que determinar la colacin es complicado10.3.12. A cada colacin un conjunto de caracteres correcto10.3.13. Un ejemplo del efecto de una colacin

    10.4. Efectos del soporte de conjuntos de caracteres10.4.1. Cadenas de caracteres de resultado10.4.2. CONVERT()10.4.3. CAST()10.4.4. Sentencias SHOW

    10.5. Soporte Unicode10.6. UTF8 para metadatos10.7. Compatibilidad con otros SGBDs (Sistemas gestores de bases de datos)10.8. Formato del nuevo fichero de conjunto de caracateres10.9. Conjunto de caracteres nacional10.10. Conjuntos de caracteres y colaciones que soporta MySQL10.10.1. Conjuntos de caracteres Unicode10.10.2. Conjuntos de caracteres de Europa occidental10.10.3. Conjuntos de caracteres de Europa central10.10.4. Conjuntos de caracteres del sur de Europa y de Oriente Medio10.10.5. Conjuntos de caracteres blticos10.10.6. Conjuntos de caracteres cirlicos10.10.7. Conjuntos de caracteres asiticos

    Captulo 11. Tipos de columna11.1. Panormica de tipos de columna11.1.1. Panormica de tipos numricos11.1.2. Panormica de tipos de fechas y hora11.1.3. Panormica de tipos de cadenas de caracteres

    11.2. Tipos numricos11.3. Tipos de fecha y hora11.3.1. Los tipos de datos DATETIME, DATE y TIMESTAMP11.3.1.1. Propiedades de TIMESTAMP desde MySQL 4.1

    11.3.2. El tipo TIME11.3.3. El tipo de datos YEAR11.3.4. Efecto 2000 (Y2K) y tipos de datos

    11.4. Tipos de cadenas de caracteres11.4.1. Los tipos CHAR y VARCHAR11.4.2. Los tipos BINARY y VARBINARY11.4.3. Los tipos BLOB y TEXT11.4.4. El tipo de columna ENUM11.4.5. El tipo SET

    11.5. Requisitos de almacenamiento segn el tipo de columna11.6. Escoger el tipo de columna correcto11.7. Usar tipos de columnas de otros motores de bases de datos

    Captulo 12. Funciones y operadores12.1. Operadores12.1.1. Precedencias de los operadores12.1.2. Parntesis12.1.3. Funciones y operadores de comparacin12.1.4. Operadores lgicos

    12.2. Funciones de control de flujo12.3. Funciones para cadenas de caracteres12.3.1. Funciones de comparacin de cadenas de caracteres

    12.4. Funciones numricas12.4.1. Operadores aritmticos12.4.2. Funciones matemticas

    12.5. Funciones de fecha y hora12.6. Qu calendario utiliza MySQL12.7. Funciones de bsqueda de texto completo (Full-Text)12.7.1. Bsquedas booleanas de texto completo (Full-Text)12.7.2. Bsquedas de texto completo (Full-Text) con expansin de consulta12.7.3. Limitaciones de las bsquedas de texto completo (Full-Text)12.7.4. Afinar bsquedas de texto completo (Full-Text) con MySQL12.7.5. Cosas por hacer en bsquedas de texto completo (Full-Text)

    12.8. Funciones y operadores de cast12.9. Otras funciones12.9.1. Funciones bit12.9.2. Funciones de cifrado12.9.3. Funciones de informacin12.9.4. Funciones varias

    12.10. Funciones y modificadores para clusulas GROUP BY12.10.1. Funciones (de agregacin) de GROUP BY12.10.2. Modificadores de GROUP BY12.10.3. GROUP BY con campos escondidos

    Captulo 13. Sintaxis de sentencias SQL13.1. Sentencias de definicin de datos (Data Definition Statements)13.1.1. Sintaxis de ALTER DATABASE13.1.2. Sintaxis de ALTER TABLE13.1.3. Sintaxis de CREATE DATABASE13.1.4. Sintaxis de CREATE INDEX13.1.5. Sintaxis de CREATE TABLE13.1.5.1. Cambios tcitos en la especificacin de columnas

    13.1.6. Sintaxis de DROP DATABASE13.1.7. Sintaxis de DROP INDEX13.1.8. Sintaxis de DROP TABLE13.1.9. Sintaxis de RENAME TABLE

    13.2. Sentencias de manipulacin de datos (Data Manipulation Statements)13.2.1. Sintaxis de DELETE13.2.2. Sintaxis de DO13.2.3. Sintaxis de HANDLER13.2.4. Sintaxis de INSERT13.2.4.1. Sintaxis de INSERT ... SELECT13.2.4.2. Sintaxis de INSERT DELAYED

    13.2.5. Sintaxis de LOAD DATA INFILE13.2.6. Sintaxis de REPLACE13.2.7. Sintaxis de SELECT13.2.7.1. Sintaxis de JOIN13.2.7.2. Sintaxis de UNION

    13.2.8. Sintaxis de subconsultas13.2.8.1. La subconsulta, como un operador sobre valores escalares13.2.8.2. Uso de subconsultas en subconsultas13.2.8.3. Subconsultas con ANY, IN y SOME13.2.8.4. Subconsultas con ALL13.2.8.5. Subconsultas de registro13.2.8.6. EXISTS y NOT EXISTS13.2.8.7. Subconsultas correlacionadas13.2.8.8. Subconsultas en la clusula FROM13.2.8.9. Errores en subconsultas13.2.8.10. Optimizar subconsultas13.2.8.11. Re-escribir subconsultas como joins en versiones de MySQL anteriores

    13.2.9. Sintaxis de TRUNCATE13.2.10. Sintaxis de UPDATE

    13.3. Sentencias tiles de MySQL13.3.1. Sintaxis de DESCRIBE (Informacin acerca de las columnas)13.3.2. Sintaxis de USE

    13.4. Comandos transaccionales y de bloqueo de MySQL13.4.1. Sintaxis de START TRANSACTION, COMMIT y ROLLBACK13.4.2. Sentencias que no se pueden deshacer13.4.3. Sentencias que causan una ejecucin (commit) implcita13.4.4. Sintaxis de SAVEPOINT y ROLLBACK TO SAVEPOINT13.4.5. Sintaxis de LOCK TABLES y UNLOCK TABLES13.4.6. Sintaxis de SET TRANSACTION

    13.5. Sentencias de administracin de base de datos13.5.1. Sentencias para la gestin de cuentas13.5.1.1. Sintaxis de CREATE USER13.5.1.2. Sintaxis de DROP USER13.5.1.3. Sintaxis de GRANT y REVOKE13.5.1.4. Sintaxis de RENAME USER13.5.1.5. Sintaxis de SET PASSWORD

    13.5.2. Sentencias para el mantenimiento de tablas13.5.2.1. Sintaxis de ANALYZE TABLE13.5.2.2. Sintaxis de BACKUP TABLE13.5.2.3. Sintaxis de CHECK TABLE13.5.2.4. Sintaxis de CHECKSUM TABLE13.5.2.5. Sintaxis de OPTIMIZE TABLE13.5.2.6. Sintaxis de REPAIR TABLE13.5.2.7. Sintaxis de RESTORE TABLE

    13.5.3. Sintaxis de SET13.5.4. Sintaxis de SHOW13.5.4.1. Sintaxis de SHOW CHARACTER SET13.5.4.2. Sintaxis de SHOW COLLATION13.5.4.3. Sintaxis de SHOW COLUMNS13.5.4.4. Sintaxis de SHOW CREATE DATABASE13.5.4.5. Sintaxis de SHOW CREATE TABLE13.5.4.6. Sintaxis de SHOW DATABASES13.5.4.7. Sintaxis de SHOW ENGINE13.5.4.8. Sintaxis de SHOW ENGINES13.5.4.9. Sintaxis de SHOW ERRORS13.5.4.10. Sintaxis de SHOW GRANTS13.5.4.11. Sintaxis de SHOW INDEX13.5.4.12. Sintaxis de SHOW INNODB STATUS13.5.4.13. Sintaxis de SHOW LOGS13.5.4.14. Sintaxis de SHOW OPEN TABLES13.5.4.15. Sintaxis de SHOW PRIVILEGES13.5.4.16. Sintaxis de SHOW PROCESSLIST13.5.4.17. Sintaxis de SHOW STATUS13.5.4.18. Sintaxis de SHOW TABLE STATUS13.5.4.19. Sintaxis de SHOW TABLES13.5.4.20. Sintaxis de SHOW TRIGGERS13.5.4.21. Sintaxis de SHOW VARIABLES13.5.4.22. Sintaxis de SHOW WARNINGS

    13.5.5. Otras sentencias para la administracin13.5.5.1. Sintaxis de CACHE INDEX13.5.5.2. Sintaxis de FLUSH13.5.5.3. Sintaxis de KILL13.5.5.4. Sintaxis de LOAD INDEX INTO CACHE13.5.5.5. Sintaxis de RESET

    13.6. Sentencias de replicacin13.6.1. Sentencias SQL para el control de servidores maestros13.6.1.1. Sintaxis de PURGE MASTER LOGS13.6.1.2. Sintaxis de RESET MASTER13.6.1.3. Sintaxis de SET SQL_LOG_BIN13.6.1.4. Sintaxis de SHOW BINLOG EVENTS13.6.1.5. Sintaxis de SHOW MASTER LOGS13.6.1.6. Sintaxis de SHOW MASTER STATUS13.6.1.7. Sintaxis de SHOW SLAVE HOSTS

    13.6.2. Sentencias SQL para el control de servidores esclavos13.6.2.1. Sintaxis de CHANGE MASTER TO13.6.2.2. Sintaxis de LOAD DATA FROM MASTER13.6.2.3. Sintaxis de LOAD TABLE nombre_de_tabla FROM MASTER13.6.2.4. Sintaxis de MASTER_POS_WAIT()13.6.2.5. Sintaxis de RESET SLAVE13.6.2.6. Sintaxis de SET GLOBAL SQL_SLAVE_SKIP_COUNTER13.6.2.7. Sintaxis de SHOW SLAVE STATUS13.6.2.8. Sintaxis de START SLAVE13.6.2.9. Sintaxis de STOP SLAVE

    13.7. Sintaxis SQL de sentencias preparadas

    Captulo 14. Motores de almacenamiento de MySQL y tipos de tablas14.1. El motor de almacenamiento MyISAM14.1.1. Opciones de arranque de MyISAM14.1.2. Cunto espacio necesitan las claves14.1.3. Formatos de almacenamiento de tablas MyISAM14.1.3.1. Caractersticas de tablas estticas (con ancho fijo o Fixed-Length)14.1.3.2. Caractersticas de tablas dinmicas14.1.3.3. Caractersticas de las tablas comprimidas

    14.1.4. Problemas en tablas MyISAM14.1.4.1. Tablas MyISAM corruptas14.1.4.2. Problemas debidos a tablas que no se han cerrado debidamente

    14.2. El motor de almacenamiento MERGE14.2.1. Problemas con tablas MERGE

    14.3. El motor de almacenamiento MEMORY (HEAP)14.4. El motor de almacenamiento BDB (BerkeleyDB)14.4.1. Sistemas operativos que soporta BDB14.4.2. Instalacin de BDB14.4.3. Opciones de arranque de BDB14.4.4. Caractersticas de las tablas BDB14.4.5. Temas pendientes de arreglo para BDB14.4.6. Limitaciones en las tablas BDB14.4.7. Errores que pueden darse en el uso de tablas BDB

    14.5. El motor de almacenamiento EXAMPLE14.6. El motor de almacenamiento FEDERATED14.6.1. Instalacin del motor de almacenamiento FEDERATED14.6.2. Descripcin del motor de almacenamiento FEDERATED14.6.3. Cmo usar las tablas FEDERATED14.6.4. Limitaciones del motor de almacenamiento FEDERATED

    14.7. El motor de almacenamiento ARCHIVE14.8. El motor de almacenamiento CSV

    Captulo 15. El motor de almacenamiento InnoDB15.1. Panormica de InnoDB15.2. Informacin de contacto de InnoDB15.3. Configuracin de InnoDB15.4. Opciones de arranque de InnoDB15.5. Crear el espacio de tablas InnoDB15.5.1. Resolucin de problemas en la inicializacin de InnoDB

    15.6. Crear tablas InnoDB15.6.1. Cmo utilizar transacciones en InnoDB con distintas APIs15.6.2. Pasar tablas MyISAM a InnoDB15.6.3. Cmo funciona una columna AUTO_INCREMENT en InnoDB15.6.4. Restricciones (constraints) FOREIGN KEY15.6.5. InnoDB y replicacin MySQL15.6.6. Usar un espacio de tablas para cada tabla

    15.7. Aadir y suprimir registros y ficheros de datos InnoDB15.8. Hacer una copia de seguridad y recuperar una base de datos InnoDB15.8.1. Forzar una recuperacin15.8.2. Marcadores

    15.9. Trasladar una base de datos InnoDB a otra mquina15.10. Bloqueo y modelo de transacciones de InnoDB15.10.1. Modos de bloqueo InnoDB15.10.2. InnoDB y AUTOCOMMIT15.10.3. InnoDB y TRANSACTION ISOLATION LEVEL15.10.4. Lecturas consistentes que no bloquean15.10.5. Bloquear lecturas SELECT ... FOR UPDATE y SELECT ... LOCK IN SHARE MODE15.10.6. Bloqueo de la prxima clave (Next-Key Locking): evitar el problema fantasma15.10.7. Un ejemplo de lectura consistente en InnoDB15.10.8. Establecimiento de bloqueos con diferentes sentencias SQL en InnoDB15.10.9. Cundo ejecuta o deshace implicitamente MySQL una transaccin?15.10.10. Deteccin de interbloqueos (deadlocks) y cancelacin de transacciones (rollbacks)15.10.11. Cmo tratar con interbloqueos

    15.11. Consejos de afinamiento del rendimiento de InnoDB15.11.1. SHOW INNODB STATUS y los monitores InnoDB

    15.12. Implementacin de multiversin15.13. Estructuras de tabla y de ndice15.13.1. Estructura fsica de un ndice15.13.2. Bfer de inserciones15.13.3. Indices hash adaptables15.13.4. Estructura fsica de los registros

    15.14. Gestin de espacio de ficheros y de E/S de disco (Disk I/O)15.14.1. E/S de disco (Disk I/O)15.14.2. Usar dispositivos en bruto (raw devices) para espacios de tablas15.14.3. Gestin del espacio de ficheros15.14.4. Desfragmentar una tabla

    15.15. Tratamiento de errores de InnoDB15.15.1. Cdigos de error de InnoDB15.15.2. Cdigos de error del sistema operativo

    15.16. Restricciones de las tablas InnoDB15.17. Resolver problemas relacionados con InnoDB15.17.1. Resolver problemas de las operaciones del diccionario de datos de InnoDB

    Captulo 16. MySQL Cluster16.1. Panormica de MySQL Cluster16.2. Conceptos bsicos de Basic MySQL Cluster16.3. Cmo configurar varios ordenadores16.3.1. Hardware, software y redes16.3.2. Instalacin16.3.3. Configuracin16.3.4. Arranque inicial16.3.5. Cargar datos de ejemplo y realizar consultas16.3.6. Apagado y encendido seguros

    16.4. Configuracin de MySQL Cluster16.4.1. Generar MySQL Cluster desde el cdigo fuente16.4.2. Instalar el software16.4.3. Rpido montaje de prueba de MySQL Cluster16.4.4. Fichero de configuracin16.4.4.1. Ejemplo de configuracin para MySQL Cluster16.4.4.2. El connectstring de MySQL Cluster16.4.4.3. Definir los equipos que forman un cluster MySQL16.4.4.4. Definicin del servidor de administracin de MySQL Cluster16.4.4.5. Definir los nodos de MySQL Cluster16.4.4.6. Definir los servidores MySQL (nodos sql) en un MySQL Cluster16.4.4.7. Conexiones TCP/IP de MySQL Cluster16.4.4.8. Conexiones TCP/IP de MySQL Cluster usando conexiones directas16.4.4.9. Conexiones de MySQL Cluster que comparten memoria16.4.4.10. Conexiones de transporte SCI en MySQL Cluster

    16.5. Gestin de procesos en MySQL Cluster16.5.1. El uso del proceso del servidor MySQL para MySQL Cluster16.5.2. ndbd, el proceso del nodo de motor de almacenamiento16.5.3. El proceso del servidor de administracin ndb_mgmd16.5.4. El proceso de cliente de administracin ndb_mgm16.5.5. Opciones de comando para procesos de MySQL Cluster16.5.5.1. Opciones de mysqld relacionadas con MySQL Cluster16.5.5.2. Opciones de comando para ndbd16.5.5.3. Opciones del comando ndb_mgmd16.5.5.4. Opciones de comando para ndb_mgm

    16.6. Administracin de MySQL Cluster16.6.1. Comandos del cliente de administracin16.6.2. Informes de eventos generados por MySQL Cluster16.6.2.1. Registrar comandos de control16.6.2.2. Registro de eventos

    16.6.3. Modo de usuario nico16.6.4. Copias de seguridad On-line para MySQL Cluster16.6.4.1. Conceptos de copias de seguridad de nodos16.6.4.2. Usar el servidor de administracin para crear una copia de seguridad16.6.4.3. Cmo restablecer una copia de seguridad de un nodo16.6.4.4. Configuracin para copias de seguridad de un nodo16.6.4.5. Resolver problemas con copias de seguridad

    16.7. Usar interconexiones de alta velocidad con MySQL Cluster16.7.1. Configurar MySQL Cluster para que utilice Sockets SCI16.7.2. Entender el impacto de interconexiones de nodos

    16.8. Limitaciones conocidas de MySQL Cluster16.9. Mapa de desarrollo de MySQL Cluster16.9.1. Cambios de MySQL Cluster en MySQL 5.016.9.2. Mapa de desarrollo de MySQL 5.1 para MySQL Cluster

    16.10. Preguntas frecuentes sobre MySQL Cluster16.11. Glosario de MySQL Cluster

    Captulo 17. Introduccin a MaxDB17.1. Historia de MaxDB17.2. Licenciamiento y soporte17.3. Enlaces relacionados con MaxDB17.4. Conceptos bsicos de MaxDB17.5. Diferencias de prestaciones entre MaxDB y MySQL17.6. Caractersticas de interoperabilidad entre MaxDB y MySQL17.7. Palabras reservadas de MaxDB

    Captulo 18. Extensiones espaciales de MySQL18.1. Introduccin18.2. El modelo geomtrico OpenGIS18.2.1. La jerarqua de las clases geomtricas18.2.2. La clase Geometry18.2.3. La clase Point18.2.4. La clase Curve18.2.5. La clase LineString18.2.6. La clase Surface18.2.7. La clase Polygon18.2.8. La clase GeometryCollection18.2.9. La clase MultiPoint18.2.10. La clase MultiCurve18.2.11. La clase MultiLineString18.2.12. La clase MultiSurface18.2.13. La clase MultiPolygon

    18.3. Formatos de datos espaciales soportados18.3.1. Formato Well-Known Text (WKT)18.3.2. Formato Well-Known Binary (WKB)

    18.4. Crear una base de datos MySQL con capacidades espaciales18.4.1. Tipos de datos espaciales de MySQL18.4.2. Crear valores espaciales18.4.2.1. Crear valores geomtricos utilizando funciones WKT18.4.2.2. Crear valores geomtricos utilizando funciones WKB18.4.2.3. Crear valores geomtricos usando funciones especficas de MySQL

    18.4.3. Crear columnas espaciales18.4.4. Poblar columnas espaciales18.4.5. Extraer datos espaciales18.4.5.1. Extraer datos espaciales en formato interno18.4.5.2. Extraer datos espaciales en formato WKT18.4.5.3. Recoger datos espaciales en formato WKB

    18.5. Analizar informacin espacial18.5.1. Funciones de conversin de formato geomtrico18.5.2. Funciones Geometry18.5.2.1. Funciones generales de geometra18.5.2.2. Funciones Point18.5.2.3. Funciones LineString18.5.2.4. Funciones MultiLineString18.5.2.5. Funciones Polygon18.5.2.6. Funciones MultiPolygon18.5.2.7. Funciones GeometryCollection

    18.5.3. Funciones que crean nuevas geometras a partir de unas existentes18.5.3.1. Funciones geomtricas que producen nuevas geometras18.5.3.2. Operadores espaciales

    18.5.4. Funciones para probar relaciones espaciales entre objetos geomtricos18.5.5. Relaciones entre rectngulos MBR (Minimal Bounding Rectangles)18.5.6. Funciones que prueban relaciones espaciales entre geometras

    18.6. Optimizacin del anlisis espacial18.6.1. Crear ndices espaciales18.6.2. Usar un ndice espacial

    18.7. Conformidad y compatibilidad de MySQL18.7.1. Caractersticas GIS que todava no han sido implementadas

    Captulo 19. Procedimientos almacenados y funciones19.1. Procedimientos almacenados y las tablas de permisos19.2. Sintaxis de procedimientos almacenados19.2.1. CREATE PROCEDURE y CREATE FUNCTION19.2.2. ALTER PROCEDURE y ALTER FUNCTION19.2.3. DROP PROCEDURE y DROP FUNCTION19.2.4. SHOW CREATE PROCEDURE y SHOW CREATE FUNCTION19.2.5. SHOW PROCEDURE STATUS y SHOW FUNCTION STATUS19.2.6. La sentencia CALL19.2.7. Sentencia compuesta BEGIN ... END19.2.8. Sentencia DECLARE19.2.9. Variables en procedimientos almacenados19.2.9.1. Declarar variables locales con DECLARE19.2.9.2. Sentencia SET para variables19.2.9.3. La sentencia SELECT ... INTO

    19.2.10. Conditions and Handlers19.2.10.1. Condiciones DECLARE19.2.10.2. DECLARE handlers

    19.2.11. Cursores19.2.11.1. Declarar cursores19.2.11.2. Sentencia OPEN del cursor19.2.11.3. Sentencia de cursor FETCH19.2.11.4. Sentencia de cursor CLOSE

    19.2.12. Constructores de control de flujo19.2.12.1. Sentencia IF19.2.12.2. La sentencia CASE19.2.12.3. Sentencia LOOP19.2.12.4. Sentencia LEAVE19.2.12.5. La sentencia ITERATE19.2.12.6. Sentencia REPEAT19.2.12.7. Sentencia WHILE

    19.3. Registro binario de procedimientos almacenados y disparadores

    Captulo 20. Disparadores (triggers)20.1. Sintaxis de CREATE TRIGGER20.2. Sintaxis de DROP TRIGGER20.3. Utilizacin de disparadores

    Captulo 21. Vistas (Views)21.1. Sintaxis de ALTER VIEW21.2. Sintaxis de CREATE VIEW21.3. Sintaxis de DROP VIEW21.4. Sintaxis de SHOW CREATE VIEW

    Captulo 22. La base de datos de informacin INFORMATION_SCHEMA22.1. Las tablas INFORMATION_SCHEMA22.1.1. La tabla INFORMATION_SCHEMA SCHEMATA22.1.2. La tabla INFORMATION_SCHEMA TABLES22.1.3. La tabla INFORMATION_SCHEMA COLUMNS22.1.4. La tabla INFORMATION_SCHEMA STATISTICS22.1.5. La tabla INFORMATION_SCHEMA USER_PRIVILEGES22.1.6. La tabla INFORMATION_SCHEMA SCHEMA_PRIVILEGES22.1.7. La tabla INFORMATION_SCHEMA TABLE_PRIVILEGES22.1.8. La tabla INFORMATION_SCHEMA COLUMN_PRIVILEGES22.1.9. La tabla INFORMATION_SCHEMA CHARACTER_SETS22.1.10. La tabla INFORMATION_SCHEMA COLLATIONS22.1.11. La tabla INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY22.1.12. La tabla INFORMATION_SCHEMA TABLE_CONSTRAINTS22.1.13. La tabla INFORMATION_SCHEMA KEY_COLUMN_USAGE22.1.14. La tabla INFORMATION_SCHEMA ROUTINES22.1.15. La tabla INFORMATION_SCHEMA VIEWS22.1.16. La tabla INFORMATION_SCHEMA TRIGGERS22.1.17. Otras tablas INFORMATION_SCHEMA

    22.2. Extensiones a las sentencias SHOW

    Captulo 23. Matemticas de precisin23.1. Tipos de valores numricos23.2. Cambios en el tipo de datos DECIMAL23.3. Manejo de expresiones23.4. Cmo se redondea23.5. Ejemplos de matemticas de precisin

    Captulo 24. APIs de MySQL24.1. Utilidades para el desarrollo de programas MySQL24.1.1. msql2mysql 24.1.2. mysql_config

    24.2. La API C de MySQL24.2.1. Tipos de datos de la API C24.2.2. Panormica de funciones de la API C24.2.3. Descripcin de funciones de la API C24.2.3.1. mysql_affected_rows()24.2.3.2. mysql_change_user()24.2.3.3. mysql_character_set_name()24.2.3.4. mysql_close()24.2.3.5. mysql_connect()24.2.3.6. mysql_create_db()24.2.3.7. mysql_data_seek()24.2.3.8. mysql_debug()24.2.3.9. mysql_drop_db()24.2.3.10. mysql_dump_debug_info()24.2.3.11. mysql_eof()24.2.3.12. mysql_errno()24.2.3.13. mysql_error()24.2.3.14. mysql_escape_string()24.2.3.15. mysql_fetch_field()24.2.3.16. mysql_fetch_fields()24.2.3.17. mysql_fetch_field_direct()24.2.3.18. mysql_fetch_lengths()24.2.3.19. mysql_fetch_row()24.2.3.20. mysql_field_count()24.2.3.21. mysql_field_seek()24.2.3.22. mysql_field_tell()24.2.3.23. mysql_free_result()24.2.3.24. mysql_get_character_set_info()24.2.3.25. mysql_get_client_info()24.2.3.26. mysql_get_client_version()24.2.3.27. mysql_get_host_info()24.2.3.28. mysql_get_proto_info()24.2.3.29. mysql_get_server_info()24.2.3.30. mysql_get_server_version()24.2.3.31. mysql_hex_string()24.2.3.32. mysql_info()24.2.3.33. mysql_init()24.2.3.34. mysql_insert_id()24.2.3.35. mysql_kill()24.2.3.36. mysql_library_init()24.2.3.37. mysql_library_end()24.2.3.38. mysql_list_dbs()24.2.3.39. mysql_list_fields()24.2.3.40. mysql_list_processes()24.2.3.41. mysql_list_tables()24.2.3.42. mysql_num_fields()24.2.3.43. mysql_num_rows()24.2.3.44. mysql_options()24.2.3.45. mysql_ping()24.2.3.46. mysql_query()24.2.3.47. mysql_real_connect()24.2.3.48. mysql_real_escape_string()24.2.3.49. mysql_real_query()24.2.3.50. mysql_reload()24.2.3.51. mysql_row_seek()24.2.3.52. mysql_row_tell()24.2.3.53. mysql_select_db()24.2.3.54. mysql_set_character_set()24.2.3.55. mysql_set_server_option()24.2.3.56. mysql_shutdown()24.2.3.57. mysql_sqlstate()24.2.3.58. mysql_ssl_set()24.2.3.59. mysql_stat()24.2.3.60. mysql_store_result()24.2.3.61. mysql_thread_id()24.2.3.62. mysql_use_result()24.2.3.63. mysql_warning_count()24.2.3.64. mysql_commit()24.2.3.65. mysql_rollback()24.2.3.66. mysql_autocommit()24.2.3.67. mysql_more_results()24.2.3.68. mysql_next_result()

    24.2.4. Sentencias preparadas de la API C24.2.5. Tipos de datos de sentencias preparadas de la API C24.2.6. Panormica de las funciones de sentencias preparadas de la API C24.2.7. Descripciones de funciones de sentencias preparadas de la API C24.2.7.1. mysql_stmt_affected_rows()24.2.7.2. mysql_stmt_attr_get()24.2.7.3. mysql_stmt_attr_set()24.2.7.4. mysql_stmt_bind_param()24.2.7.5. mysql_stmt_bind_result()24.2.7.6. mysql_stmt_close()24.2.7.7. mysql_stmt_data_seek()24.2.7.8. mysql_stmt_errno()24.2.7.9. mysql_stmt_error()24.2.7.10. mysql_stmt_execute()24.2.7.11. mysql_stmt_free_result()24.2.7.12. mysql_stmt_insert_id()24.2.7.13. mysql_stmt_fetch()24.2.7.14. mysql_stmt_fetch_column()24.2.7.15. mysql_stmt_field_count()24.2.7.16. mysql_stmt_init()24.2.7.17. mysql_stmt_num_rows()24.2.7.18. mysql_stmt_param_count()24.2.7.19. mysql_stmt_param_metadata()24.2.7.20. mysql_stmt_prepare()24.2.7.21. mysql_stmt_reset()24.2.7.22. mysql_stmt_result_metadata()24.2.7.23. mysql_stmt_row_seek()24.2.7.24. mysql_stmt_row_tell()24.2.7.25. mysql_stmt_send_long_data()24.2.7.26. mysql_stmt_sqlstate()24.2.7.27. mysql_stmt_store_result()

    24.2.8. Problemas con sentencias preparadas de la API C24.2.9. Tratamiento por parte de la API C de la ejecucin de mltiples consultas24.2.10. Manejo de valores de fecha y hora por parte de la API C24.2.11. Descripcin de funciones de la API C para el control de subprocesos24.2.11.1. my_init()24.2.11.2. mysql_thread_init()24.2.11.3. mysql_thread_end()24.2.11.4. mysql_thread_safe()

    24.2.12. Descripcin de las funciones de la API C del servidor incrustado (embedded)24.2.12.1. mysql_server_init()24.2.12.2. mysql_server_end()

    24.2.13. Preguntas y problemas comunes en el uso de la API C24.2.13.1. Por qu mysql_store_result() a veces devuelve NULL despus de que mysql_query() haya dado un resultado?24.2.13.2. Qu resultados se puede obtener de una consulta24.2.13.3. Cmo obtener el ID nico del ltimo registro insertado24.2.13.4. Problemas enlazando con la API C

    24.2.14. Generar programas cliente24.2.15. Cmo hacer un cliente multihilo24.2.16. libmysqld, la biblioteca del servidor MySQL incrustado (embedded)24.2.16.1. Panormica de la librera del servidor MySQL incrustado (embedded)24.2.16.2. Compilar programas con libmysqld24.2.16.3. Restricciones cuando se utiliza el servidor MySQL incrustado (embedded)24.2.16.4. Opciones con el servidor incrustado (embedded)24.2.16.5. Cosas por hacer (TODO) en el servidor incrustado (embedded)24.2.16.6. Ejemplos de servidor incrustado (embedded)24.2.16.7. Licenciamiento del servidor incrustado (embedded)

    24.3. API PHP de MySQL24.3.1. Problemas comunes con MySQL y PHP

    24.4. La API Perl de MySQL24.5. API C++ de MySQL24.5.1. Borland C++

    24.6. La API Python de MySQL24.7. La API Tcl de MySQL24.8. El visor de MySQL Eiffel

    Captulo 25. Conectores25.1. MySQL Connector/ODBC25.1.1. Introduction to Connector/ODBC25.1.1.1. Connector/ODBC Versions25.1.1.2. General Information About ODBC and Connector/ODBCConnector/ODBC ArchitectureODBC Driver Managers

    25.1.2. Connector/ODBC Installation25.1.2.1. Where to Get Connector/ODBC25.1.2.2. Supported Platforms25.1.2.3. Installing Connector/ODBC from a binary distributionInstalling Connector/ODBC from a Binary Distribution on WindowsInstalling the Windows Connector/ODBC Driver using an installerInstalling the Windows Connector/ODBC Driver using the Zipped DLL packageHandling Installation Errors

    Installing Connector/ODBC from a Binary Distribution on UnixInstalling Connector/ODBC from a Binary Tarball DistributionInstalling Connector/ODBC from an RPM Distribution

    Installing Connector/ODBC on Mac OS XInstalling the Connector/ODBC Driver

    25.1.2.4. Installing Connector/ODBC from a source distributionInstalling Connector/ODBC from a Source Distribution on WindowsBuilding Connector/ODBC 3.51TestingBuilding MyODBC 2.50

    Installing Connector/ODBC from a Source Distribution on UnixTypical configure OptionsAdditional configure OptionsBuilding and CompilationBuilding Shared LibrariesInstalling Driver LibrariesTesting Connector/ODBC on UnixBuilding Connector/ODBC from Source on Mac OS XBuilding Connector/ODBC from Source on HP-UXBuilding Connector/ODBC from Source on AIX

    Installing Connector/ODBC from the Development Source Tree

    25.1.3. Connector/ODBC Configuration25.1.3.1. Data Source Names25.1.3.2. Configuring a Connector/ODBC DSN on WindowsAdding a Connector/ODBC DSN on WindowsChecking Connector/ODBC DSN Configuration on WindowsConnector/ODBC DSN Configuration OptionsErrors and Debugging

    25.1.3.3. Configuring a Connector/ODBC DSN on Mac OS X25.1.3.4. Configuring a Connector/ODBC DSN on Unix25.1.3.5. Connector/ODBC Connection Parameters25.1.3.6. Connecting Without a Predefined DSN25.1.3.7. ODBC Connection Pooling25.1.3.8. Getting an ODBC Trace FileEnabling ODBC Tracing on WindowsEnabling ODBC Tracing on Mac OS XEnabling ODBC Tracing on UnixEnabling a Connector/ODBC Log

    25.1.4. Connector/ODBC Examples25.1.4.1. Basic Connector/ODBC Application Steps25.1.4.2. Step-by-step Guide to Connecting to a MySQL Database through Connector/ODBC25.1.4.3. Connector/ODBC and Third-Party ODBC ToolsApplications Tested with Connector/ODBCUsing Connector/ODBC with Microsoft Word or ExcelUsing Connector/ODBC and Microsoft AccessExporting Access Data to MySQLImporting MySQL Data to AccessLinking MySQL Data to Access Tables

    25.1.4.4. Using Connector/ODBC with Crystal Reports25.1.4.5. Connector/ODBC Programming ExamplesUsing Connector/ODBC with Visual Basic Using ADO, DAO and RDOADO: rs.addNew, rs.delete, and rs.updateDAO: rs.addNew, rs.update, and ScrollingRDO: rs.addNew and rs.update

    Using Connector/ODBC with .NETUsing Connector/ODBC with ODBC.NET and C# (C sharp)Using Connector/ODBC with ODBC.NET and Visual Basic

    25.1.5. Connector/ODBC Reference25.1.5.1. Connector/ODBC API Reference25.1.5.2. Connector/ODBC Data Types25.1.5.3. Connector/ODBC Error Codes

    25.1.6. Connector/ODBC Notes and Tips25.1.6.1. Connector/ODBC General FunctionalityObtaining Auto-Increment ValuesDynamic Cursor SupportConnector/ODBC PerformanceSetting ODBC Query Timeout in Windows

    25.1.6.2. Connector/ODBC Application Specific TipsUsing Connector/ODBC with Microsoft ApplicationsMicrosoft AccessMicrosoft Excel and Column TypesMicrosoft Visual BasicMicrosoft Visual InterDevVisual ObjectsMicrosoft ADOUsing Connector/ODBC with Active Server Pages (ASP)Using Connector/ODBC with Visual Basic (ADO, DAO and RDO) and ASP

    Using Connector/ODBC with Borland ApplicationsUsing Connector/ODBC with Borland Builder 4Using Connector/ODBC with DelphiUsing Connector/ODBC with C++ Builder

    Using Connector/ODBC with ColdFusionUsing Connector/ODBC with OpenOfficeUsing Connector/ODBC with Sambar ServerUsing Connector/ODBC with Pervasive Software DataJunctionUsing Connector/ODBC with SunSystems Vision

    25.1.6.3. Connector/ODBC Errors and Resolutions

    25.1.7. Connector/ODBC Support25.1.7.1. Connector/ODBC Community Support25.1.7.2. How to Report Connector/ODBC Problems or Bugs25.1.7.3. How to Submit a Connector/ODBC Patch25.1.7.4. Connector/ODBC Change History25.1.7.5. Credits

    25.2. MySQL Connector/NET25.2.1. Connector/NET Versions25.2.2. Connector/NET Installation25.2.2.1. Installing Connector/NET on WindowsInstalling Connector/NET using the InstallerInstalling Connector/NET using the Zip package

    25.2.2.2. Installing Connector/NET on Unix with Mono25.2.2.3. Installing Connector/NET using the Source

    25.2.3. Connector/NET Examples25.2.3.1. MySqlCommandClass MySqlCommand Constructor Form 1Class MySqlCommand Constructor Form 2Class MySqlCommand Constructor Form 3Class MySqlCommand Constructor Form 4ExecuteNonQueryExecuteReader1ExecuteReaderPrepareExecuteScalarCommandTextCommandTimeoutCommandTypeConnectionIsPreparedParametersTransactionUpdatedRowSource

    25.2.3.2. MySqlCommandBuilderClass MySqlCommandBuilder ConstructorClass MySqlCommandBuilder Constructor Form 1Class MySqlCommandBuilder Constructor Form 2Class MySqlCommandBuilder Constructor Form 3DataAdapterQuotePrefixQuoteSuffixDeriveParametersGetDeleteCommandGetInsertCommandGetUpdateCommandRefreshSchema

    25.2.3.3. MySqlConnectionClass MySqlConnection Constructor (Default)Class MySqlConnection Constructor Form 1OpenDatabaseStateServerVersionCloseCreateCommandBeginTransactionBeginTransaction1ChangeDatabaseStateChangeInfoMessageConnectionTimeoutConnectionString

    25.2.3.4. MySqlDataAdapterClass MySqlDataAdapter ConstructorClass MySqlDataAdapter Constructor Form 1Class MySqlDataAdapter Constructor Form 2Class MySqlDataAdapter Constructor Form 3DeleteCommandInsertCommandUpdateCommandSelectCommand

    25.2.3.5. MySqlDataReaderGetBytesGetTimeSpanGetDateTimeGetMySqlDateTimeGetStringGetDecimalGetDoubleGetFloatGetGiudGetInt16GetInt32GetInt64GetUInt16GetUInt32GetUInt64

    25.2.3.6. MySqlException25.2.3.7. MySqlParameter25.2.3.8. MySqlParameterCollection25.2.3.9. MySqlTransactionRollbackCommit

    25.2.4. Connector/NET Reference25.2.4.1. MySql.Data.MySqlClientMySql.Data.MySqlClientHierarchyMySqlCommand ClassMySqlCommand MembersMySqlCommand ConstructorMySqlCommand Constructor ()MySqlCommand Constructor (String)MySqlCommand Constructor (String, MySqlConnection)MySqlConnection ClassMySqlConnection MembersMySqlConnection ConstructorMySqlConnection Constructor ()MySqlConnection Constructor (String)

    ConnectionString PropertyConnectionTimeout PropertyDatabase PropertyDataSource PropertyServerThread PropertyServerVersion PropertyState PropertyUseCompression PropertyBeginTransaction MethodMySqlConnection.BeginTransaction Method ()MySqlTransaction ClassMySqlTransaction MembersConnection PropertyIsolationLevel PropertyMySqlTransaction.Commit MethodMySqlTransaction.Rollback Method

    MySqlConnection.BeginTransaction Method (IsolationLevel)

    MySqlConnection.ChangeDatabase MethodMySqlConnection.Close MethodMySqlConnection.CreateCommand MethodMySqlConnection.Open MethodMySqlConnection.Ping MethodMySqlConnection.InfoMessage EventMySqlInfoMessageEventHandler DelegateMySqlInfoMessageEventArgs ClassMySqlInfoMessageEventArgs MembersMySqlInfoMessageEventArgs ConstructorMySqlInfoMessageEventArgs.errors FieldMySqlError ClassMySqlError MembersMySqlError ConstructorCode PropertyLevel PropertyMessage Property

    MySqlConnection.StateChange Event

    MySqlCommand Constructor (String, MySqlConnection, MySqlTransaction)

    CommandText PropertyCommandTimeout PropertyCommandType PropertyConnection PropertyIsPrepared PropertyParameters PropertyMySqlParameterCollection ClassMySqlParameterCollection MembersMySqlParameterCollection ConstructorCount PropertyItem PropertyMySqlParameter ClassMySqlParameter MembersMySqlParameter ConstructorMySqlParameter Constructor ()MySqlParameter Constructor (String, MySqlDbType)MySqlDbType Enumeration

    MySqlParameter Constructor (String, MySqlDbType, Int32)MySqlParameter Constructor (String, MySqlDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)Value Property

    MySqlParameter Constructor (String, MySqlDbType, Int32, String)MySqlParameter Constructor (String, Object)

    DbType PropertyDirection PropertyIsNullable PropertyIsUnsigned PropertyMySqlDbType PropertyParameterName PropertyPrecision PropertyScale PropertySize PropertySourceColumn PropertySourceVersion PropertyMySqlParameter.ToString Method

    Item Property (Int32)Item Property (String)

    Add MethodMySqlParameterCollection.Add Method (MySqlParameter)MySqlParameterCollection.Add Method (Object)MySqlParameterCollection.Add Method (String, MySqlDbType)MySqlParameterCollection.Add Method (String, MySqlDbType, Int32)MySqlParameterCollection.Add Method (String, MySqlDbType, Int32, String)MySqlParameterCollection.Add Method (String, Object)

    MySqlParameterCollection.Clear MethodContains MethodMySqlParameterCollection.Contains Method (Object)MySqlParameterCollection.Contains Method (String)

    MySqlParameterCollection.CopyTo MethodIndexOf MethodMySqlParameterCollection.IndexOf Method (Object)MySqlParameterCollection.IndexOf Method (String)

    MySqlParameterCollection.Insert MethodMySqlParameterCollection.Remove MethodRemoveAt MethodMySqlParameterCollection.RemoveAt Method (Int32)MySqlParameterCollection.RemoveAt Method (String)

    Transaction PropertyUpdatedRowSource PropertyMySqlCommand.Cancel MethodMySqlCommand.CreateParameter MethodMySqlCommand.ExecuteNonQuery MethodExecuteReader MethodMySqlCommand.ExecuteReader Method ()MySqlDataReader ClassMySqlDataReader MembersDepth PropertyFieldCount PropertyHasRows PropertyIsClosed PropertyItem PropertyItem Property (Int32)Item Property (String)

    RecordsAffected PropertyMySqlDataReader.Close MethodMySqlDataReader.GetBoolean MethodMySqlDataReader.GetByte MethodMySqlDataReader.GetBytes MethodMySqlDataReader.GetChar MethodMySqlDataReader.GetChars MethodMySqlDataReader.GetDataTypeName MethodMySqlDataReader.GetDateTime MethodMySqlDataReader.GetDecimal MethodMySqlDataReader.GetDouble MethodMySqlDataReader.GetFieldType MethodMySqlDataReader.GetFloat MethodMySqlDataReader.GetGuid MethodMySqlDataReader.GetInt16 MethodMySqlDataReader.GetInt32 MethodMySqlDataReader.GetInt64 MethodMySqlDataReader.GetMySqlDateTime MethodMySqlDataReader.GetName MethodMySqlDataReader.GetOrdinal MethodMySqlDataReader.GetSchemaTable MethodMySqlDataReader.GetString MethodMySqlDataReader.GetTimeSpan MethodMySqlDataReader.GetUInt16 MethodMySqlDataReader.GetUInt32 MethodMySqlDataReader.GetUInt64 MethodMySqlDataReader.GetValue MethodMySqlDataReader.GetValues MethodMySqlDataReader.IsDBNull MethodMySqlDataReader.NextResult MethodMySqlDataReader.Read Method

    MySqlCommand.ExecuteReader Method (CommandBehavior)

    MySqlCommand.ExecuteScalar MethodMySqlCommand.Prepare Method

    MySqlCommandBuilder ClassMySqlCommandBuilder MembersDeriveParameters MethodMySqlCommandBuilder.DeriveParameters Method (MySqlCommand)MySqlCommandBuilder.DeriveParameters Method (MySqlCommand, Boolean)

    MySqlCommandBuilder ConstructorMySqlCommandBuilder Constructor ()MySqlCommandBuilder Constructor (MySqlDataAdapter)MySqlDataAdapter ClassMySqlDataAdapter MembersMySqlDataAdapter ConstructorMySqlDataAdapter Constructor ()MySqlDataAdapter Constructor (MySqlCommand)MySqlDataAdapter Constructor (String, MySqlConnection)MySqlDataAdapter Constructor (String, String)

    DeleteCommand PropertyInsertCommand PropertySelectCommand PropertyUpdateCommand PropertyMySqlDataAdapter.RowUpdated EventMySqlRowUpdatedEventHandler DelegateMySqlRowUpdatedEventArgs ClassMySqlRowUpdatedEventArgs MembersMySqlRowUpdatedEventArgs ConstructorCommand Property

    MySqlDataAdapter.RowUpdating EventMySqlRowUpdatingEventHandler DelegateMySqlRowUpdatingEventArgs ClassMySqlRowUpdatingEventArgs MembersMySqlRowUpdatingEventArgs ConstructorCommand Property

    MySqlCommandBuilder Constructor (MySqlDataAdapter, Boolean)MySqlCommandBuilder Constructor (Boolean)

    DataAdapter PropertyQuotePrefix PropertyQuoteSuffix PropertyMySqlCommandBuilder.GetDeleteCommand MethodMySqlCommandBuilder.GetInsertCommand MethodMySqlCommandBuilder.GetUpdateCommand MethodMySqlCommandBuilder.RefreshSchema Method

    MySqlException ClassMySqlException MembersNumber Property

    MySqlHelper ClassMySqlHelper MembersMySqlHelper.ExecuteDataRow MethodExecuteDataset MethodMySqlHelper.ExecuteDataset Method (MySqlConnection, String)MySqlHelper.ExecuteDataset Method (MySqlConnection, String, MySqlParameter[])MySqlHelper.ExecuteDataset Method (String, String)MySqlHelper.ExecuteDataset Method (String, String, MySqlParameter[])

    ExecuteNonQuery MethodMySqlHelper.ExecuteNonQuery Method (MySqlConnection, String, MySqlParameter[])MySqlHelper.ExecuteNonQuery Method (String, String, MySqlParameter[])

    ExecuteReader MethodMySqlHelper.ExecuteReader Method (String, String)MySqlHelper.ExecuteReader Method (String, String, MySqlParameter[])

    ExecuteScalar MethodMySqlHelper.ExecuteScalar Method (MySqlConnection, String)MySqlHelper.ExecuteScalar Method (MySqlConnection, String, MySqlParameter[])MySqlHelper.ExecuteScalar Method (String, String)MySqlHelper.ExecuteScalar Method (String, String, MySqlParameter[])

    MySqlHelper.UpdateDataSet Method

    MySqlErrorCode Enumeration

    25.2.4.2. MySql.Data.TypesMySql.Data.TypesHierarchyMySqlConversionException ClassMySqlConversionException MembersMySqlConversionException Constructor

    MySqlDateTime ClassMySqlDateTime MembersMySqlDateTime Explicit MySqlDateTime to DateTime ConversionDay PropertyHour PropertyIsNull PropertyMySqlValue ClassMySqlValue MembersMySqlValue.numberFormat FieldMySqlValue ConstructorValueAsObject PropertyMySqlValue.ToString MethodMySqlValue.classType FieldMySqlValue.dbType FieldMySqlValue.mySqlDbType FieldMySqlValue.mySqlTypeName FieldMySqlValue.objectValue Field

    IsValidDateTime PropertyMinute PropertyMonth PropertySecond PropertyYear PropertyMySqlDateTime.GetDateTime MethodMySqlDateTime.ToString Method

    25.2.5. Connector/NET Notes and Tips25.2.5.1. Connecting to MySQL Using Connector/NETIntroductionCreating a Connection StringOpening a ConnectionHandling Connection Errors

    25.2.5.2. Using the Connector/NET with Prepared StatementsIntroductionPreparing Statements in Connector/NET

    25.2.5.3. Accessing Stored Procedures with Connector/NETIntroductionCreating Stored Procedures from Connector/NETCalling a Stored Procedure from Connector/NET

    25.2.5.4. Handling BLOB Data With Connector/NETIntroductionPreparing the MySQL ServerWriting a File to the DatabaseReading a BLOB from the Database to a File on Disk

    25.2.5.5. Using Connector/NET with Crystal ReportsIntroductionCreating a Data SourceCreating the ReportDisplaying the Report

    25.2.5.6. Handling Date and Time Information in Connector/NETIntroductionProblems when Using Invalid DatesRestricting Invalid DatesHandling Invalid DatesHandling NULL Dates

    25.2.6. Connector/NET Support25.2.6.1. Connector/NET Community Support25.2.6.2. How to report Connector/NET Problems or Bugs25.2.6.3. Connector/NET Change History

    25.3. MySQL Visual Studio Plugin25.3.1. Installing the MySQL Visual Studio Plugin25.3.2. Creating a connection to the MySQL server25.3.3. Using the MySQL Visual Studio Plugin25.3.3.1. Editing TablesColumn EditorIndexes tabForeign Keys tabColumn Details tabTable Properties window

    25.3.3.2. Editing Table Data25.3.3.3. Editing Views25.3.3.4. Editing Stored Procedures and Functions25.3.3.5. Editing Triggers25.3.3.6. Editing User Defined Functions (UDF)25.3.3.7. Dropping database objects25.3.3.8. Cloning database objects

    25.3.4. Visual Studio Plugin Support25.3.4.1. Visual Studio Plugin FAQ

    25.4. MySQL Connector/J25.4.1. Connector/J Versions25.4.1.1. Java Versions Supported

    25.4.2. Connector/J Installation25.4.2.1. Installing Connector/J from a Binary Distribution25.4.2.2. Installing the Driver and Configuring the CLASSPATH25.4.2.3. Upgrading from an Older VersionUpgrading from MySQL Connector/J 3.0 to 3.1JDBC-Specific Issues When Upgrading to MySQL Server 4.1 or Newer

    25.4.2.4. Installing from the Development Source Tree

    25.4.3. Connector/J Examples25.4.4. Connector/J (JDBC) Reference25.4.4.1. Driver/Datasource Class Names, URL Syntax and Configuration Properties for Connector/J25.4.4.2. JDBC API Implementation Notes25.4.4.3. Java, JDBC and MySQL Types25.4.4.4. Using Character Sets and Unicode25.4.4.5. Connecting Securely Using SSL25.4.4.6. Using Master/Slave Replication with ReplicationConnection

    25.4.5. Connector/J Notes and Tips25.4.5.1. Basic JDBC ConceptsConnecting to MySQL Using the DriverManager InterfaceUsing Statements to Execute SQLUsing CallableStatements to Execute Stored ProceduresRetrieving AUTO_INCREMENT Column Values

    25.4.5.2. Using Connector/J with J2EE and Other Java FrameworksGeneral J2EE ConceptsUnderstanding Connection Pooling

    Using Connector/J with TomcatUsing Connector/J with JBoss

    25.4.5.3. Common Problems and Solutions

    25.4.6. Connector/J Support25.4.6.1. Connector/J Community Support25.4.6.2. How to Report Connector/J Bugs or Problems25.4.6.3. Connector/J Change History

    25.5. MySQL Connector/MXJ25.5.1. Introduction to Connector/MXJ25.5.1.1. Connector/MXJ Versions25.5.1.2. Connector/MXJ Overview

    25.5.2. Connector/MXJ Installation25.5.2.1. Supported Platforms25.5.2.2. Connector/MXJ Base Installation25.5.2.3. Connector/MXJ Quick Start Guide25.5.2.4. Deploying Connector/MXJ using Driver Launch25.5.2.5. Deploying Connector/MXJ within JBoss25.5.2.6. Verifying Installation using JUnitJUnit Test RequirementsRunning the JUnit Tests

    25.5.3. Connector/MXJ Configuration25.5.3.1. Running as part of the JDBC Driver25.5.3.2. Running within a Java Object25.5.3.3. Setting server options

    25.5.4. Connector/MXJ Reference25.5.4.1. MysqldResource APIMysqldResource ConstructorsMysqldResource Methods

    25.5.5. Connector/MXJ Notes and Tips25.5.5.1. Creating your own Connector/MXJ Package25.5.5.2. Deploying Connector/MXJ with a pre-configured database25.5.5.3. Running within a JMX Agent (custom)25.5.5.4. Deployment in a standard JMX Agent environment (JBoss)

    25.5.6. Connector/MXJ Support25.5.6.1. Connector/MXJ Community Support25.5.6.2. How to Report Connector/MXJ Problems

    25.6. Connector/PHP

    Captulo 26. Manejo de errores en MySQLCaptulo 27. Extender MySQL27.1. El interior de MySQL27.1.1. Los subprocesos (threads) MySQL27.1.2. El paquete de pruebas MySQL Test27.1.2.1. Ejecutar el paquete de pruebas MySQL Test27.1.2.2. Extender el paquete de pruebas MySQL Test27.1.2.3. Reportar bugs de la suite de test de MySQL

    27.2. Aadir nuevas funciones a MySQL27.2.1. Caractersticas de la interfaz para funciones definidas por el usuario27.2.2. Sintaxis de CREATE FUNCTION/DROP FUNCTION27.2.3. Aadir una nueva funcin definida por el usuario27.2.3.1. Secuencias de llamada UDF para funciones simples27.2.3.2. Secuencias de llamada UDF para funciones agregadas27.2.3.3. Proceso de argumentos27.2.3.4. Valores de retorno y tratamiento de errores27.2.3.5. Compilar e instalar funciones definidas por el usuario27.2.3.6. Precauciones de seguridad en funciones definidas por usuarios

    27.2.4. Aadir una nueva funcin nativa

    27.3. Aadir nuevos procedimientos a MySQL27.3.1. Procedimiento Analyse27.3.2. Escribir un procedimiento

    Apndice A. Problemas y errores comunesA.1. Cmo determinar a qu es debido un problemaA.2. Errores comunes al usar programas MySQLA.2.1. Access deniedA.2.2. Can't connect to [local] MySQL serverA.2.3. Client does not support authentication protocolA.2.4. La contrasea falla cuando se introduce interactivamenteA.2.5. La mquina 'host_name' est bloqueadaA.2.6. Demasiadas conexionesA.2.7. Out of memoryA.2.8. MySQL se ha apagadoA.2.9. Packet too largeA.2.10. Errores de comunicacin y conexiones abortadasA.2.11. The table is fullA.2.12. Can't create/write to fileA.2.13. Commands out of syncA.2.14. Ignoring userA.2.15. Table 'nombre_de_tabla' doesn't existA.2.16. Can't initialize character setA.2.17. No se encontr el fichero

    A.3. Problemas relacionados con la instalacinA.3.1. Problemas al enlazar a la biblioteca de clientes MySQLA.3.2. Cmo ejecutar MySQL como usuario normalA.3.3. Problemas con permisos de archivos

    A.4. Cuestiones relacionadas con la administracinA.4.1. Cmo reiniciar la contrasea de rootA.4.2. Qu hacer si MySQL sigue fallando (crashing)A.4.3. Cmo se comporta MySQL ante un disco llenoA.4.4. Dnde almacena MySQL los archivos temporalesA.4.5. Cmo proteger o cambiar el fichero socket de MySQL /tmp/mysql.sockA.4.6. Problemas con las franjas horarias

    A.5. Problemas relacionados con consultasA.5.1. Sensibilidad a maysculas en bsquedasA.5.2. Problemas en el uso de columnas DATEA.5.3. Problemas con valores NULLA.5.4. Problemas con alias de columnasA.5.5. Fallo en la cancelacin de una transaccin con tablas no transaccionalesA.5.6. Borrar registros de tablas relacionadasA.5.7. Resolver problemas con registros que no salenA.5.8. Problemas con comparaciones en coma flotante

    A.6. Cuestiones relacionadas con el optimizadorA.7. Cuestiones relacionadas con definiciones de tablaA.7.1. Problemas con ALTER TABLEA.7.2. Cmo cambiar el orden de las columnas en una tablaA.7.3. Problemas con TEMPORARY TABLE

    A.8. Problemas conocidos en MySQLA.8.1. Problemas de la versin 3.23 resueltos en una versin posterior de MySQLA.8.2. Problemas de la versin 4.0 resueltos en una versin posterior de MySQLA.8.3. Problemas de la versin 4.1 resueltos en una versin posterior de MySQLA.8.4. Cuestiones abiertas en MySQL

    Apndice B. CreditsB.1. Desarrolladores de MySQL ABB.2. Han contribuido a crear MySQLB.3. Documentadores y traductoresB.4. Bibliotecas incluidas en MySQL y que MySQL utilizaB.5. Paquetes que soportan MySQLB.6. Herramientas utilizadas en la creacin de MySQLB.7. Han ayudado a MySQL

    Apndice C. Historial de cambios de MySQLC.1. Cambios en la entrega 5.0.x (Desarrollo)C.1.1. Cambios en la entrega 5.0.11 (todava no liberada)C.1.2. Cambios en la entrega 5.0.10 (todava no liberada)C.1.3. Cambios en la entrega 5.0.9 (15 julio 2005)C.1.4. Cambios en la entrega 5.0.8 (not released)C.1.5. Cambios en la entrega 5.0.7 (10 June 2005)C.1.6. Cambios en la entrega 5.0.6 (26 May 2005)C.1.7. Cambios en la entrega 5.0.5 (not released)C.1.8. Cambios en la entrega 5.0.4 (16 Apr 2005)C.1.9. Cambios en la entrega 5.0.3 (23 Mar 2005: Beta)C.1.10. Cambios en la entrega 5.0.2 (01 Dec 2004)C.1.11. Cambios en la entrega 5.0.1 (27 Jul 2004)C.1.12. Cambios en la entrega 5.0.0 (22 Dec 2003: Alpha)

    C.2. Cambios en MySQL Connector/ODBC (MyODBC)C.2.1. Changes in Connector/ODBC 5.0.10 (14 December 2006)C.2.2. Changes in Connector/ODBC 5.0.9 (22 November 2006)C.2.3. Changes in Connector/ODBC 5.0.8 (17 November 2006)C.2.4. Changes in Connector/ODBC 5.0.7 (08 November 2006)C.2.5. Changes in Connector/ODBC 5.0.6 (03 November 2006)C.2.6. Changes in Connector/ODBC 5.0.5 (17 October 2006)C.2.7. Changes in Connector/ODBC 5.0.3 (Connector/ODBC 5.0 Alpha 3) (20 June 2006)C.2.8. Changes in Connector/ODBC 5.0.2 (Never released)C.2.9. Changes in Connector/ODBC 5.0.1 (Connector/ODBC 5.0 Alpha 2) (05 June 2006)C.2.10. Changes in Connector/ODBC 3.51.13 (Not yet released)C.2.11. Cambios en MyODBC 3.51.12C.2.12. Cambios en MyODBC 3.51.11

    C.3. Connector/NET Change HistoryC.3.1. Changes in MySQL Connector/NET Version 5.0.4 (Not yet released)C.3.2. Changes in MySQL Connector/NET Version 5.0.3 (05 January 2007)C.3.3. Changes in MySQL Connector/NET Version 5.0.2 (06 November 2006)C.3.4. Changes in MySQL Connector/NET Version 5.0.1 (01 October 2006)C.3.5. Changes in MySQL Connector/NET Version 5.0.0 (08 August 2006)C.3.6. Changes in MySQL Connector/NET Version 1.0.9 (Not yet released)C.3.7. Changes in MySQL Connector/NET Version 1.0.8 (20 October 2006)C.3.8. Changes in MySQL Connector/NET Version 1.0.7 (21 November 2005)C.3.9. Changes in MySQL Connector/NET Version 1.0.6 (03 October 2005)C.3.10. Changes in MySQL Connector/NET Version 1.0.5 (29 August 2005)C.3.11. Changes in MySQL Connector/NET Version 1.0.4 (20 January 2005)C.3.12. Changes in MySQL Connector/NET Version 1.0.3-gamma (12 October 2004)C.3.13. Changes in MySQL Connector/NET Version 1.0.2-gamma (15 November 2004)C.3.14. Changes in MySQL Connector/NET Version 1.0.1-beta2 (27 October 2004)C.3.15. Changes in MySQL Connector/NET Version 1.0.0 (01 September 2004)C.3.16. Changes in MySQL Connector/NET Version 0.9.0 (30 August 2004)C.3.17. Changes in MySQL Connector/NET Version 0.76C.3.18. Changes in MySQL Connector/NET Version 0.75C.3.19. Changes in MySQL Connector/NET Version 0.74C.3.20. Changes in MySQL Connector/NET Version 0.71C.3.21. Changes in MySQL Connector/NET Version 0.70C.3.22. Changes in MySQL Connector/NET Version 0.68C.3.23. Changes in MySQL Connector/NET Version 0.65C.3.24. Changes in MySQL Connector/NET Version 0.60C.3.25. Changes in MySQL Connector/NET Version 0.50

    C.4. MySQL Visual Studio Plugin Change HistoryC.4.1. Changes in MySQL Visual Studio Plugin 1.0.2 (Not yet released)C.4.2. Changes in MySQL Visual Studio Plugin 1.0.1 (4 October 2006)C.4.3. Changes in MySQL Visual Studio Plugin 1.0.0 (4 October 2006)

    C.5. MySQL Connector/J Change HistoryC.5.1. Changes in MySQL Connector/J 5.1.xC.5.1.1. Changes in MySQL Connector/J 5.1.0 (Not yet released)

    C.5.2. Changes in MySQL Connector/J 5.0.xC.5.2.1. Changes in MySQL Connector/J 5.0.5 (Not yet released)C.5.2.2. Changes in MySQL Connector/J 5.0.4 (20 October 2006)C.5.2.3. Changes in MySQL Connector/J 5.0.3 (26 July 2006)C.5.2.4. Changes in MySQL Connector/J 5.0.2-beta (11 July 2006)C.5.2.5. Changes in MySQL Connector/J 5.0.1-beta (Not Released)C.5.2.6. Changes in MySQL Connector/J 5.0.0-beta (22 December 2005)

    C.5.3. Changes in MySQL Connector/J 3.1.xC.5.3.1. Changes in MySQL Connector/J 3.1.15 (Not yet released)C.5.3.2. Changes in MySQL Connector/J 3.1.14 (10-19-2006)C.5.3.3. Changes in MySQL Connector/J 3.1.13 (26 May 2006)C.5.3.4. Changes in MySQL Connector/J 3.1.12 (30 November 2005)C.5.3.5. Changes in MySQL Connector/J 3.1.11-stable (07 October 2005)C.5.3.6. Changes in MySQL Connector/J 3.1.10-stable (23 June 2005)C.5.3.7. Changes in MySQL Connector/J 3.1.9-stable (22 June 2005)C.5.3.8. Changes in MySQL Connector/J 3.1.8-stable (14 April 2005)C.5.3.9. Changes in MySQL Connector/J 3.1.7-stable (18 February 2005)C.5.3.10. Changes in MySQL Connector/J 3.1.6-stable (23 December 2004)C.5.3.11. Changes in MySQL Connector/J 3.1.5-gamma (02 December 2004)C.5.3.12. Changes in MySQL Connector/J 3.1.4-beta (04 September 2004)C.5.3.13. Changes in MySQL Connector/J 3.1.3-beta (07 July 2004)C.5.3.14. Changes in MySQL Connector/J 3.1.2-alpha (09 June 2004)C.5.3.15. Changes in MySQL Connector/J 3.1.1-alpha (14 February 2004)C.5.3.16. Changes in MySQL Connector/J 3.1.0-alpha (18 February 2003)

    C.5.4. Changes in MySQL Connector/J 3.0.xC.5.4.1. Changes in MySQL Connector/J 3.0.17-ga (23 June 2005)C.5.4.2. Changes in MySQL Connector/J 3.0.16-ga (15 November 2004)C.5.4.3. Changes in MySQL Connector/J 3.0.15-production (04 September 2004)C.5.4.4. Changes in MySQL Connector/J 3.0.14-production (28 May 2004)C.5.4.5. Changes in MySQL Connector/J 3.0.13-production (27 May 2004)C.5.4.6. Changes in MySQL Connector/J 3.0.12-production (18 May 2004)C.5.4.7. Changes in MySQL Connector/J 3.0.11-stable (19 February 2004)C.5.4.8. Changes in MySQL Connector/J 3.0.10-stable (13 January 2004)C.5.4.9. Changes in MySQL Connector/J 3.0.9-stable (07 October 2003)C.5.4.10. Changes in MySQL Connector/J 3.0.8-stable (23 May 2003)C.5.4.11. Changes in MySQL Connector/J 3.0.7-stable (08 April 2003)C.5.4.12. Changes in MySQL Connector/J 3.0.6-stable (18 February 2003)C.5.4.13. Changes in MySQL Connector/J 3.0.5-gamma (22 January 2003)C.5.4.14. Changes in MySQL Connector/J 3.0.4-gamma (06 January 2003)C.5.4.15. Changes in MySQL Connector/J 3.0.3-dev (17 December 2002)C.5.4.16. Changes in MySQL Connector/J 3.0.2-dev (08 November 2002)C.5.4.17. Changes in MySQL Connector/J 3.0.1-dev (21 September 2002)C.5.4.18. Changes in MySQL Connector/J 3.0.0-dev (31 July 2002)

    C.5.5. Changes in MySQL Connector/J 2.0.xC.5.5.1. Changes in MySQL Connector/J 2.0.14 (16 May 2002)C.5.5.2. Changes in MySQL Connector/J 2.0.13 (24 April 2002)C.5.5.3. Changes in MySQL Connector/J 2.0.12 (07 April 2002)C.5.5.4. Changes in MySQL Connector/J 2.0.11 (27 January 2002)C.5.5.5. Changes in MySQL Connector/J 2.0.10 (24 January 2002)C.5.5.6. Changes in MySQL Connector/J 2.0.9 (13 January 2002)C.5.5.7. Changes in MySQL Connector/J 2.0.8 (25 November 2001)C.5.5.8. Changes in MySQL Connector/J 2.0.7 (24 October 2001)C.5.5.9. Changes in MySQL Connector/J 2.0.6 (16 June 2001)C.5.5.10. Changes in MySQL Connector/J 2.0.5 (13 June 2001)C.5.5.11. Changes in MySQL Connector/J 2.0.3 (03 December 2000)C.5.5.12. Changes in MySQL Connector/J 2.0.1 (06 April 2000)C.5.5.13. Changes in MySQL Connector/J 2.0.0pre5 (21 February 2000)C.5.5.14. Changes in MySQL Connector/J 2.0.0pre4 (10 January 2000)C.5.5.15. Changes in MySQL Connector/J 2.0.0pre (17 August 1999)

    C.5.6. Changes in MySQL Connector/J 1.2b (04 July 1999)C.5.7. Changes in MySQL Connector/J 1.2.x and lowerC.5.7.1. Changes in MySQL Connector/J 1.2a (14 April 1999)C.5.7.2. Changes in MySQL Connector/J 1.1i (24 March 1999)C.5.7.3. Changes in MySQL Connector/J 1.1h (08 March 1999)C.5.7.4. Changes in MySQL Connector/J 1.1g (19 February 1999)C.5.7.5. Changes in MySQL Connector/J 1.1f (31 December 1998)C.5.7.6. Changes in MySQL Connector/J 1.1b (03 November 1998)C.5.7.7. Changes in MySQL Connector/J 1.1 (02 September 1998)C.5.7.8. Changes in MySQL Connector/J 1.0 (24 August 1998)C.5.7.9. Changes in MySQL Connector/J 0.9d (04 August 1998)C.5.7.10. Changes in MySQL Connector/J 0.9 (28 July 1998)C.5.7.11. Changes in MySQL Connector/J 0.8 (06 July 1998)C.5.7.12. Changes in MySQL Connector/J 0.7 (01 July 1998)C.5.7.13. Changes in MySQL Connector/J 0.6 (21 May 1998)

    Apndice D. Portar a otros sistemasD.1. Depurar un servidor MySQLD.1.1. Compilacin de MySQL para depuracinD.1.2. Crear ficheros de trazaD.1.3. Depurar mysqld con gdbD.1.4. Usar stack traceD.1.5. El uso de registros (logs) para encontrar la causa de errores de mysqldD.1.6. Crear un caso de prueba tras haber encontrado una tabla corrupta

    D.2. Depuracin de un cliente MySQLD.3. El paquete DBUGD.4. Comentarios sobre subprocesos RTSD.5. Diferencias entre paquetes de control de subprocesos

    Apndice E. Variables de entornoApndice F. Expresiones regulares en MySQLApndice G. Lmites en MySQLG.1. Lmites de los joins

    Apndice H. Restricciones en caractersticas de MySQLH.1. Restricciones en procedimientos almacenados y disparadoresH.2. Restricciones en cursores del lado del servidorH.3. Restricciones en subconsultasH.4. Restricciones en vistas

    Apndice I. GNU General Public LicenseApndice J. MySQL FLOSS License Exceptionndice