manual de instalacion y uso de mysql
TRANSCRIPT
Requisitos de Windows
Para ejecutar MySQL para Windows, se necesita lo siguiente:
• Un sistema operativo Windows de 32 bits, tal como 9x, Me, NT, 2000, XP, o
Windows Server 2003.
Se recomienda fuertemente el uso de un sistema operativo Windows basado en
NT (NT, 2000,XP, 2003) puesto que éstos permiten ejecutar el servidor MySQL
como un servicio.
• Soporte para protocolo TCP/IP.
• Una copia de la distribución binara de MySQL para Windows, que se puede
descargar
Nota: Si se descarga la distribución a través de FTP, se recomienda el uso de un
cliente FTP adecuado
que posea la característica de reanudación (resume) para evitar la corrupción de
ficheros durante el proceso de descarga.
• Una herramienta capaz de leer ficheros .zip, para descomprimir el fichero de
distribución.
• Suficiente espacio en disco rígido para descomprimir, instalar, y crear las bases
de datos de acuerdo a sus requisitos. Generalmente se recomienda un mínimo de
200 megabytes.
También podrían necesitarse los siguientes ítems opcionales:
Elección de un paquete de instalación 58
• Si se planea conectarse al servidor MySQL a través de ODBC, se deberá contar
con un driver
Connector/ODBC. Consulte en internet “MySQL Connector/ODBC”.
• Si se necesitan tablas con un tamaño superior a 4GB, debe instalarse MySQL en
un sistema de ficheros NTFS o posterior
INSTALACION DE MYSQL:
Nos dirijimos al navegador de intenet buscamos “mysql” Buscamos la pestaña ”descargas,” seleccionamos el sistema
operativo que estemos usansdo Sleciconamos la pestaña mysql installer y le damos clic en la
segunda opción Seleccionan la opción no thanks, just start my dowload Si iniciara la descarga.
Una vez descargada la aplicación lo ejecutamos como administrador
Esperamos a que cargue el inicio de la instalación
Aceptamos los acuerdos de licencia
Pulsamos el botón next .
Pulsamos el botón de execute, para verificar la conexión a internet, al termino pulsamos next
En esta ventana nos aparece una breve explicación de la ruta de instalación y los componentes a instalar.
Solo pulsamos next.
En esta ventana pulsamos execute para descragar el ultimo complemento y esperamos a que termine de descargar
Al termino pulsamos next
En esta ventana nos muestra las aplicaciones a instalar esto se tardara un poco debido a que tiene que descargar las aplicaciones.
Pulsamos execute para apemzar a descargar
Terminando de descargar las aplicaciones pulsamos next para proseguí la instalacion
En esta ventana pulsamos next para abrir las cnfiguraciones.
En la primera parte de la configuración la dejamos tal y como esta, el puerto lo dejamos como esta ese será por el que se conectara
Pulsamos next
En la segunda ventana de configuración le asignamos una contraseña de usuario, las que ustedes prefieran.
Pulsamos next
Las tercera ventana solo pulsamos next, no muestra algunos detalles del servicio en Windows.
Esperamos a que termine de configurar.
Arrancar MySQL desde la línea de comandos de Windows
El servidor MySQL puede ser iniciado manualmente desde la línea de comandos.
Esto es válido en cualquier versión de Windows.
Esta e la ultima ventana de instalación Deseleccionamos la opción de start y pulsamos finish.
Esta es la primera ventana de inicio, donde introducimos la contraseña que le asignamos en la configuración y pulsamos intro para empezar a trabajar.
Para iniciar el servidor mysqld desde la línea de comandos, se debería abrir una
ventana de consola (o “ventana DOS ”) e ingresar este comando:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld
La ruta empleada en el ejemplo anterior puede variar según la ubicación de la
instalación de MySQL en el sistema.
En versiones no NT de Windows, esto ejecutará mysqld en segundo plano. Esto
significa que luego de que el servidor se inicia, puede verse otra ventana de
comandos. Si se inicia el servidor de esta manera
pero en Windows NT, 2000, XP o 2003, el mismo se ejecuta en segundo plano sin
que aparezca ningún indicador del sistema hasta que el servidor finaliza. Debido a
esto, se deberá abrir otra ventana de consola para correr programas cliente
mientras el servidor se ejecuta.
El siguiente comando detendrá al servidor MySQL:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root shutdown
Esto invoca la utilidad administrativa de MySQL, mysqladmin, para conectarse al
servidor y transmitirle la orden de finalización. El comando se conecta como el
usuario root de MySQL, el cual es la cuenta administrativa por defecto en el
sistema de permisos de MySQL. Debe advertirse que los usuarios en
este sistema son enteramente independientes de cualquier usuario de inicio de
sesión perteneciente a Windows.
Si mysqld no se inicia, debe verificarse el registro de errores para ver si el servidor
generó cualquier mensaje que indique la causa del problema. El registro de
errores se localiza en el directorio C:\Program Files\MySQL\MySQL Server 5.0\
data. Es el fichero con extensión .err. También puede intentarse iniciar el servidor
con el comando mysqld --console; en este caso se podrá obtener alguna
información en pantalla que permita resol er el problema.
La última opción es ejecutar mysqld con --standalone --debug. En este caso,
mysqld guardará un fichero de registro llamado C:\mysqld.trace el cual debería
contener la razón por la cual mysqld no se inicia. Consulte Sección D.1.2, “Crear
ficheros de traza”.
El comando mysqld --verbose --help sirve para mostrar todas las opciones que
mysqld es capaz
de comprender.
Estándares utilizados por MySQL
Estamos intentando soportar en estándar ANSI/ISO completamente, pero sin
hacer concesiones a la velocidad y calidad del código.
Niveles ODBC 0-3.51.
Selección de modos SQLMySQL Server puede operar en distintos modos SQL y puede aplicar dichos
modos de forma diferente para distintos clientes. Esto permite a una aplicación
adaptar el funcionamiento del servidor a sus propios requerimientos.
Los modos definen la sintaxis que MySQL debe soportar y qué clase de
validaciones debe efectuar a los datos. Esto hace más fácil usar MySQL en un
conjunto de entornos diferentes y usar MySQL junto con otros servidores de bases
de datos.
Puede inicializar el modo SQL por defecto inicializando mysqld con la opición --sql-
mode="modes".
Empezando en MySQL 4.1., se puede cambiar el modo tras inicializar mediante la
variable sql_mode con un comando SET [SESSION|GLOBAL] sql_mode='modes'.
Ejecutar MySQL en modo ANSI 23
Para más información acerca de especificar el modo del servidor.
Ejecutar MySQL en modo ANSI
Puede decirle a mysqld que use el modo ANSI con la opción --ansi al
arrancarEjecutar el servidor en modo ANSI es lo mismo que inicializarlo con las
siguientes opciones (especifique el valor de --sql_mode en una única línea):
--transaction-isolation=SERIALIZABLE --sql-
mode=REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,
IGNORE_SPACE En MySQL 4.1, puede conseguir el mismo efecto con los
siguientes 2 comandos (especifique el valor de sql_mode en una única línea):
SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET GLOBAL sql_mode =
'REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,
IGNORE_SPACE';”.
En MySQL 4.1.1, la opción sql_mode puede inicializarse con el siguiente
comando:
SET GLOBAL sql_mode='ansi';
En ese caso, el valor de la variable sql_mode se especifica para todas las
opciones que son relevantes en el modo ANSI. Puede comprobar el resultado de
la siguiente manera:
mysql> SET GLOBAL sql_mode='ansi';
mysql> SELECT @@global.sql_mode;
-> 'REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,
IGNORE_SPACE,ANSI';
Errores comunes al usar programas MySQLEsta sección enumera algunos errores que los usuarios encuentran de manera
frecuente cuando ejecutan programas MySQL. Aunque los problemas se muestran
cuando intenta ejecutar programas cliente, las soluciones a muchos de los
problems pasan por cambios en la configuración del servidor MySQL.
Access denied
Un error de Acceso denegado puede tener muchas causas. Frecuentemente el
problema está
relacionado con las cuentas MySQL a las que el servidor deja que se conecten los
programas cliente.
Can't connect to [local] MySQL serverUn cliente MySQL en Unix puede conectarse al servidor mysqld de dos maneras
diferentes: Utilizando un archivo socket de Unix para conectarse a través de un
archivo en el sistema de ficheros (por defecto / tmp/mysql.sock), o utilizando
TCP/IP, que se conecta a través de un número de puerto. Una conexión a través
de archivo socket de Unix es más rápida que a través de TCP/IP, pero solo puede
ser utilizada cuando se conecta a un servidor en la misma máquina. Se utiliza un
archivo de socket Unix siempre que no se especifique un nombre de servidor o si
se especifica el nombre de servidor especial localhost. Si el servidor MySQL está
ejecutándose en Windows 9x o Me, puede conectarse únicamente a través de
TCP/IP. Si el servidor se está ejecutando sobre Windows NT, 2000, XP, o 2003 y
ha sido iniciado con la opción --enable-named-pipe, puede también conectarse a
través de named pipes si el cliente se está
ejecutando en la misma máquina que el servidor. El nombre de la named pipe es
por defecto MySQL. Si no se especifica un nombre de servidor al conectar a
mysqld, un cliente MySQL intenta primero conectarse Can't connect to [local]
MySQL server 1588 a la named pipe. Si esto no funciona, se conecta al puerto
TCP/IP. Usted puede forzar la utilizaciónde named pipes en windows utilizando .
como el nombre de servidor. hostname.
El error (2002) Can't connect to ... normalmente significa que no hay un servidor
MySQL
ejecutándose en el sistema o que usted está especificando un archivo de socket
Unix o número de puerto TCP/IP al intentar conectarse al servidor.
Comience por comprobar si hay un proceso llamado mysqld ejecutándose en el
servidor. (Utilice ps xa | grep mysqld en Unix o el Administrador de tareas en
Windows). Si no existe ese proceso, debería iniciar el servidor. Si hay un proceso
mysqld ejecutándose, puede comprobarlo ejecutando los siguientes comandos.
El número de puerto o nombre del archivo socket de Unix pueden ser diferentes
en su configuración. host_ip representa el número de IP de la máquina donde se
está ejecutando el servidor.represents the IP number of the machine where the
server is running.
shell> mysqladmin version
shell> mysqladmin variables
shell> mysqladmin -h `hostname` version variables
shell> mysqladmin -h `hostname` --port=3306 version
shell> mysqladmin -h host_ip version
shell> mysqladmin --protocol=socket --socket=/tmp/mysql.sock version
Tenga en cuenta la utilización de acentos abiertos en vez de comillas en el
comando hostname; esto provoca que la salida de hostname (es decir, el nombre
de máquina actual) sea sustituida en el comando mysqladmin. Si no tiene ningún
comando hostname o está ejecutando sobre Windows, puede escribir
manualmente el nombre de su máquina (sin acentos abiertos) tra la opción -h.
También puede intentarlo con -h 127.0.0.1 para conectarse con TCP/IP a la
máquina local.
Aquí hay algunas razones por las que el error Can't connect to local MySQL server
podría ocurrir:
• mysqld no se está ejecutando. Compruebe la lista de procesos de sus sistema
operativo para
asegurarse de que el proceso mysqld está presente.
• Usted está ejecutando un sistema que utiliza hilos tipo MIT-pthreads. Si está
ejecutando un sistema que no tiene hilos antivos, mysqld utiliza el paquete de MIT-
pthreads package. Aún así, no todas las versiones de MIT-pthreads soportan los
archivos socket de Unix. En un sistema sin soporte para archivos socket, siempre
debe especificar el nombre de máquina explícitamente cuando se conecte al
servidor. Intente utilizar este comando para comprobar la conexión con el servidor:
shell> mysqladmin -h `hostname` version
• Alguien ha borrado el archivo socket de Unix que mysqld utiliza (/tmp/mysql.sock
por defecto).
Por ejemplo, usted podría tener un trabajo de cron que elimine los archivos
antiguos del directorio / tmp. Siempre puede ejecutar mysqladmin version para
comprobar si el archivo socket de Unix que to check whether the Unix socket file
that mysqladmin está intentando utilizar existe realmente.
La solución en este caso es cambiar el trabajo de cron para que no elimine
mysql.sock o colocar el archivo socket en algún otro lugar. Consulte.
• Usted ha iniciado el servidor mysqld con la opción --socket=/path/to/socket, pero
ha olvidado decirle al programa cliente el nuevo nombre del archivo socket. Si
cambia la ruta del socket en el servidor, también tiene que notificárselo a los
programas cliente. Puede hacer esto proporcionándole al cliente la misma opción
--socket al ejecutarlo. También debe asegurarse de que los programas Client does
not support authentication protocol
1589 cliente tienen permiso para acceder al archivo mysql.sock. Para averiguar
donde está almacenado el archivo, puede hacer:
shell> netstat -ln | grep mysql
Consulte
• Usted está ejecutando Linux y un hilo del servidor ha muerto (volcado de
memoria). En este caso, usted debe matar el resto de hilos de mysqld (por
ejemplo, con kill o con el script mysql_zap) antes de que pueda reiniciar el servidor
MySQL.
• El servidor o el programa cliente podrían no tener los privilegios de acceso
adecuados para el directorio que almacena el archivo socket de Unix, o para el
archivo mismo. En este caso, usted debe cambiar los privilegios del directorio o los
del archivo mismo para que el servidor y los clientes puedan acceder a ellos, o
reiniciar mysqld con una opción --socket que especifique un nombre de archivo de
socket en un directorio donde el servidor pueda crearlo y los programas cliente
puedan acceder a él.
Si usted obtiene el mensaje de error Can't connect to MySQL server on
some_host, puede intentar los siguientes procedimientos para averiguar cual es el
problema:
• Compruebe si el servidor se está ejecutando en esa máquina mediante la
ejecución de telnet
some_host 3306 y presionando la tecla Enter unas cuantas veces. (3306 es el
puerto por defecto de MySQL. Cambie el valor si su servidor está escuchando en
un puerto diferente.) Si hay un servidor MySQL ejecutándose y escuchando al
puerto, debería obtener una respuesta que incluyera el número de versión del
servidor. Si obtiene un error como telnet: Unable to connect to remote host:
Connection refused, entonces no hay ningún servidor ejecutándose en el puerto
dado.
• Si el servidor está ejecutándose en la máquina local, intente utilizar mysqladmin -
h localhost variables para conectar utilizando el archivo socket de Unix.
Colmpruebe el número de puerto TCP/ IP al que el servidor está configurado para
escuchar (es el valor de la variable port.)
• Asegúrese de que su servidor mysqld no fue iniciado utilizando la opción --skip-
networking. Si lo fue no puede conectarse a él utilizando TCP/IP.
• Compruebe que no hay un cortafuegos bloqueando el acceso a MySQL.
Aplicaciones como ZoneAlarm o el cortafuegos personal de Windows XP podría
necesitar ser configurados para permitir el acceso externo a un servidor MySQL.
Client does not support authentication protocolLas versiones de MySQL número 4.1 y superiores utilizan un protocolo de
autentificación basado en un algoritmo de hash de la clave que es incompatible
con el que se utiliza en los clientes anteriores. Si actualiza su servidor a 4.1, los
intentos de conectarse a él desde un cliente más viejo pueden fallar con el
siguiente mensaje:
shell> mysql
Client does not support authentication protocol requested
by server; consider upgrading MySQL client
Para resolver este problema, debería utilizar alguno de los siguientes métodos:
• Actualizar todos los programas clientes para que utilicen la librería de cliente
4.1.1 o posterior.
• Cuando se conecte al servidor con un programa cliente anterior al 4.1, utilice una
cuenta que todavía mantenga una clave al estilo pre-4.1.
La contraseña falla cuando se introduce interactivamente 1590
• Reestablezca la clave al estilo pre-4.1 para cada usuario que necesite utilizar un
programa cliente
anterior a la versión 4.1. Esto puede hacerse utilizando la sentencia SET
PASSWORD y la función
OLD_PASSWORD():
mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
Una alternativa es utilizar UPDATE y FLUSH PRIVILEGES:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
Sustituya la clave que quiera utilizar por “newpwd” en los ejemplos precedentes.
MySQL no puede
retornar la clave original, así que es necesario introducir una clave nueva.
• Indique al servidor que utilice el algoritmo de hashing de claves antiguo:
1. Inicie mysqld con la opción --old-passwords.
2. Asigne una clave con formato antiguo a cada cuenta que tenga su clave
actualizada al formato más largo de la versión 4.1. Puede identificar estas cuentas
con la siguiente consulta:
mysql> SELECT Host, User, Password FROM mysql.user
-> WHERE LENGTH(Password) > 16;
Para cada registro de cuentas que se muestre en la consulta, utilice los valores de
Host y User y
asigne una clave utilizando la función OLD_PASSWORD() y SET PASSWORD o
UPDATE, tal como se ha explicado previamente.
Nota: En PHP, la extensión mysql no soporta el nuevo protocolo de autentificación
en MySQL 4.1.1
y superior. Esto es así independientemente de la versión de PHP utilizada. Si
desea poder utilizar la extensión mysql con MySQL 4.1 seguir alguna de las
indicaciones explicadas arriba para configurar MySQL con clientes antiguos. La
extensión mysqli (que significa "MySQL mejorado" - "MySQL Improved"; nueva en
PHP 5) es compatible con el nuevo algoritmo de hashing mejorado empleado en
MySQL 4.1 y superiores, y sin ninguna configuración especial necesaria que deba
hacerse para utilizar esta nueva librería cliente de MySQL para PHP. Para más
información sobre la extensión mysqli For additional background on password
hashing and authentication, Consulte
La contraseña falla cuando se introduce interactivamenteLos programas cliente de MySQL piden una contraseña cuando son invocados
con la opción --
password o -p sin especificar ningún valor para la contraseña:
shell> mysql -u user_name -p
Enter password:
En algunos sistemas, puede ocurrir que su contraseña funcione cuando es
especificada en un archivo de opciones o en la línea de comandos, pero no
cuando sea introducida interactivamente en la línea de
comandos. Esto ocurre cuando la librería proveida por el sistema para leer
contraseñas limite los valores de éstas a un número pequeño de caracteres
(normalmente ocho). Eso es un problema con la librería del La máquina
'host_name' está bloqueada 1591
sistema, no con MySQL. Para poder solucionarlo, cambie su contraseña de
MySQL a un valor que sea de ocho o menos caracteres de longitud, o ponga su
constraseña en un archivo de opciones.
La máquina 'host_name' está bloqueadaSi obtiene el siguiente error, significa que mysqld ha recibido demasiados intentos
de conexión desde la máquina 'host_name' que han sido interrumpidos:
Host 'host_name' is blocked because of many connection errors.
Unblock with 'mysqladmin flush-hosts'
El número de intentos de conexión interrumpidos se puede determinar con el valor
de la variable de sistema max_connect_errors. Tras max_connect_errors intentos
fallidos, mysqld asume que hay algo que va mal (por ejemplo, que alguien está
intentando romper la seguridad del sistema), y bloquea la máquina para que no
pueda intentar volver a conectarse hasta que usted ejecute el comando
mysqladmin flush-hosts o introduzca la sentencia FLUSH HOSTS. Consulte Por
defecto, mysqld bloquea una máquina tras 10 errores de conexión. Puede ajustar
el valor iniciando el servidor así:
shell> mysqld_safe --max_connect_errors=10000 &
Si usted obtiene este mensaje de error para una máquina concreta, debería
primero averiguar que no hay ningún problema con las conexiones TCP/IP desde
esa máquina. Si está teniendo problemas de red, no hace ningún bien el
incrementar el valor de la variable max_connect_errors.
Demasiadas conexionesSi obtiene un error Too many connections cuando intenta conectarse al servidor
mysqld, significa que todas las conexiones disponibles están siendo utilizadas por
otros clientes.
El número de conexiones permitidas está controlado por la variable de sistema
max_connections. Su valor por defecto es 100. Si necesita soportar más
conexiones, debería reiniciar mysqld con un valor más grande de esta variable.
mysqld realmente permite conectarse a max_connections+1 clientes. La conexión
extra esta
reservada para ser utilizada por cuentas que tienen el privilegio SUPER.
Otorgando el privilegio SUPER a los administradores y no a usuarios normales
(que no deberían necesitarlo), un administrador puede conectarse al servidor y
utilizar SHOW PROCESSLIST para diagnosticar problemas aún cuando el máximo
número de clientes sin privilegios estén conectados.
El número máximo de conexiones que MySQL puede soportar depende de la
calidad de la librería de hilos de una plataforma dada. Linux o Solaris deberían ser
capaces de soportar 500-1000 conexiones simultáneas, dependiendo de cuanta
RAM tenga y que estén haciendo los clientes. Los binarios estáticos de Linux
proveidos por MySQL AB pueden soportar hasta 4000 conexiones.
Out of memorySi usted ejecuta una consulta utilizando el programa cliente mysql y recibe un error
como el siguiente, significa que mysql no tiene suficiente memoria para almacenar
el resultado completo de la consulta: mysql: Out of memory at line 42, 'malloc.c'
mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k)
MySQL se ha apagado 1592
ERROR 2008: MySQL client ran out of memory
Para remediarlo, primero compruebe si su consulta es correcta. ¿Es razonable
que devuelva tantas filas? Si no, corríjala y inténtelo de nuevo. Si no es así, puede
invocar mysql con la opción --quick. Esto provoca que utilice la función
mysql_use_result() de la API C para obtener el resultado, lo que hace que haya
menos carga en el cliente (pero más en el servidor).
MySQL se ha apagadoEsta sección también explica el error relacionado Lost connection to server during
query. La razón más común para el error MySQL server has gone away es que el
servidor ha agotado el tiempo de espera y ha cerrado la conexión. En este caso,
normalmente obtendrá uno de los siguientes códigos de error (dependiendo del
sistema operativo):
Código de error DescripciónCR_SERVER_GONE_ERROR El cliente no pudo enviar una consulta al servidor.
CR_SERVER_LOST El cliente no obtuvo ningún error al escribir al servidor pero
tampoco obtuvo una respuesta completa (o ninguna respuesta) a la pregunta.
Por defecto, el servidor cierra la conexión tras ocho horas si no pasa nada. Puede
cambiar el límite de tiempo estableciendo la variable wait_timeout cuadno inicie
mysqld. Si usted tiene un script, tiene que ejecutar la consulta de nuevo para que
el cliente haga una reconexión automática. Esto da por hecho que tiene la
reconexión automática activada en el cliente (que es la opción por defecto en el
cliente de línea de comandos mysql).
Otras razones comunes por las que puede aparecer el error MySQL server has
gone away son:
• Usted (o el administrador de la base de datos) ha matado el hilo que se estaba
ejecutando con una sentencia KILL o el comando mysqladmin kill.
• Usted ha intentado ejecutar una sentencia tras cerrar la conexión con el servidor.
Esto es síntoma de un error lógico en la aplicación que debería ser corregido.
• Se ha agotado el tiempo de espera de una conexión TCP/IP desde el lado
cliente. Esto puede ocurrir si usted ha estado utilizando los comandos:
mysql_options(..., MYSQL_OPT_READ_TIMEOUT,...)
o mysql_options(..., MYSQL_OPT_WRITE_TIMEOUT,...). En este caso, aumentar
el tiempo de espera puede ayudar a resolver el problema.
• Se ha agotado el tiempo de espera en el lado del servidor, y el cliente no tiene
activada la opción de reconexión automática (la opción reconnect en la estructura
MYSQL es igual a 0).
• Usted está utilizando un cliente windows y el servidor ha cortado la conexión
(probablemente porque wait_timeout ha expirado) antes de que el comando fuese
ejecutado.
El problema en windows es que en algunos casos MySQL no obtiene un error
desde el SO cuando escribe a la conexión TCP/IP desde el servidor, sino que
obtiene el error cuando intenta leer la
respuesta desde la conexión.
En este caso, aunque el flag reconnect en la estructura MYSQL sea igual a 1,
MySQL no reconecta y
vuelve a ejecutar la sentencia, ya que no sabe si el servidor recibió la sentencia
original o no.
La solución a esto es o hacer un mysql_ping en la conexión si ha pasado mucho
tiempo desde la última sentencia (esto es lo que MyODBC hace) o establecer un
wait_timeout en el servidor mysqld tan alto que en la práctica, nunca llegue a
sobrepasarse.
Packet too large 1593
• También puede obtener estos errores si envía una consulta al servidor que sea
incorrecta o demasiado grande. Si mysqld recibe un paquete que es demasiado
grande o fuera de lugar, asume que ha habido algún error con el cliente y cierra la
conexión. Si necesita realizar grances consultas (por ejemplo, si está trabajando
con columnas BLOB muy grandes), debería incrementar el límite de las consultas
estableciendo la variable de servidor max_allowed_packet, que tiene un valor por
defecto de 1MB.
También podría necesitar incrementar el tamaño máximo de paquete en el lado
cliente
• También puede perder la conexión si envía un paquete de más de 16MB y su
cliente es anterior a la versión 4.0.8 y su servidor posterior a 4.0.8, o viceversa.
• También puede ver el error MySQL server has gone away si MySQL se inicia con
la opción --
skip-networking.
• Ha encontrado un error por el que el servidor cayó mientas ejecutaba una
sentencia.
Puede comprobar si el servidor MySQL cayó y se reinició ejecutando mysqladmin
version y examinando el tiempo de ejecución del servidor (uptime). Si la conexión
del cliente se cortó debido a que mysqld falló y se reninicó, debería intentar
encontrar la razón del fallo. Comience por comprobar si ejecutando la misma
sentencia el servidor cae de nuevo.
Puede obtener más información sobre las conexiones perdidas iniciando mysqld
con la opción --logwarnings=
2. Esto registra algunos de los errores de desconexión en el archivo hostname.err.
Si quiere crear un informe de error en relación a este problema, asegúrese de
incluir la siguiente información:
• Indique si el servidor MySQL murió. Puede enecontrar esta información en el
registro de errores del servidor. Si una consulta específica mata a mysqld y las
tablas implicadas habían sido comprobadas con CHECK TABLE antes de ejecutar
la consulta, ¿puede proporcionar una prueba que permita reproducir el caso?
• ¿Cual es el valor de la variable de sistema wait_timeout en el servidor MySQL?
(mysqladmin variables le da el valor de esta variable.)
• Ha intentado ejecutar mysqld con la opción --log para determinar si la consulta
problemática aparece en el registro?
COMANDOS BASICOS
COMANDO PARA LA CREACION DE BASE DE DATOS
HACEMOS USO DE LA BASE DE DATOS QUE CREAMOS
CREAMOS UN USUARIO NUEVO
LE DAMOS LOS PRIVILEGIOS AL USUARIO NUEVO