Vous êtes sur la page 1sur 14

LOS FICHEROS DE REGISTRO

MYSQL
ADMINISTRACION DE BASE DE DATOS

EN

PROFESORA: MARIA PILAR PAREDES COLMENAR

MYSQLD

mysqld, es el programa principal que realiza la mayora del trabajo en una instalacin MySQL. El servidor est acompaado por varios scripts que realizan operaciones de inicializacin cuando se instala MySql Server Todos los programas MySQL aceptan diferentes opciones. Sin embargo, cada programa MySQL proporciona una opcin --help que puede usar para obtener una descripcin de las opciones del programa. Por ejemplo: mysqld --help. De forma breve algunos de los programas relacionados con MySQL server son:: mysqld

El demonio SQL (esto es, el servidor MySQL). Para usar programas clientes, este programa debe estar en ejecucin, ya que los programas ganan el acceso a la base de datos conectndose al servidor. Una versin del servidor que incluye caractersticas adicionales: Este script crea las tablas de permisos de MySQL con privilegios por defecto. Normalmente se ejecuta slo una vez, cuando se instala por primera vez MySQL en el sistema Este script se usa tras una actualizacin, para actualizar las tablas de permisos con cualquier cambio que se hayan hecho en nuevas versiones de MySQL.

mysqld-max

mysql_install_db

mysql_fix_privilege_tables

OPCIONES DEL COMANDO MYSQLD

Al arrancar el servidor mysqld , puede especificar opciones de programa de tres formas:


Al ejecutar programas MySQL se les pueden indicar opciones en varias formas: En la lnea de comandos, a continuacin del nombre del programa. Este es el modo ms comn para opciones que se aplican a una ejecucin especfica del programa. En un fichero de opciones, que el programa lee al iniciarse. Esto es lo acostumbrado para opciones que se desea que el programa use cada vez que se ejecuta. En variables de entorno. Esto es til para opciones que se desean aplicar cada vez que el programa se ejecuta

Para ver las opciones que mysqld acepta en lnea de comandos podemos utilizar:

mysqld --verbose --help.

OPCIONES DE MYSQLD EN LINEA DE COMANDO

Las opciones de programa indicadas en la lnea de comandos estn sujetas a estas reglas:
Las opciones se colocan despus del nombre del comando. Una opcin comienza con uno o dos guiones, dependiendo de si se ha utilizado la forma corta o larga de su nombre. Muchas opciones permiten ambas formas. Por ejemplo, -? y --help son, respectivamente, las formas corta y larga de la opcin que solicita a un programa MySQL que muestre un mensaje de ayuda. Los nombres de opciones son case sensitive. Tanto -v como -V son correctos pero tienen distinto significado. (Corresponden a la forma corta de las opciones --verbose y --version.) Algunas opciones aceptan que se indique un valor a continuacin del nombre. Por ejemplo, -h localhost o --host=localhost indican a un programa cliente MySQL el servidor de bases de datos MySQL a utilizar. El valor de la opcin le dice al programa el nombre del ordenador host donde el servidor de bases de datos MySQL se est ejecutando.

OPCIONES DE MYSQLD EN LINEA DE COMANDO


Los nombres de opcin largos se separan del valor asignado (si se les asigna uno) con un signo '='. Para un nombre de opcin corto, el valor puede escribirse inmediatamente a continuacin de la letra de la opcin, o puede haber un espacio entre ambos. (-hlocalhost y -h localhost son equivalentes.) Algunas opciones controlan comportamientos que deben habilitarse o deshabilitarse. Por ejemplo, el cliente mysql soporta una opcin -column-names que determina si se mostrar o no una fila con los nombres de cada columna al principio de los resultados de una consulta. Por defecto, esta opcin se encuentra habilitada. Sin embargo, en algunos casos se podria desear que permanezca inhabilitada, por ejemplo cuando la salida producida por mysql debe ser enviada a otro programa que espera slo datos y no una linea inicial de encabezados. Otra opcin que puede ser ocasionalmente til con mysql es -e o -execute, la cual se utiliza para enviar sentencias SQL al servidor. Las sentencias deben estar colocadas entre comillas (dobles o simples). Se pueden ejecutar varias sentencias separndolas por ;. Cuidado: si se desea incluir dentro de la consulta valores colocados entre comillas, habra que emplear comillas dobles para delimitar la consulta y simples para los valores en su interior. Cuando se utiliza esta opcin, mysql retorna al prompt del intrprete de comandos inmediatamente despus de ejecutar la sentencia.

EJEMPLOS:

Podemos obtener una lista de las cuentas de usuario del servidor de estas dos formas:
mysql -u root -p -e "SELECT User, Host FROM user" mysql ( en este caso el nombre de la base de datos se pasa como argumento) mysql -u root -p -e "SELECT User, Host FROM mysql.user

EJEMPLOS

Si lanzamos ahora la sentencia: mysql -u root -p -e "SELECT User, Host FROM mysql.user select idmascota, nombre from zoologico.mascota

LOS FICHEROS DE REGISTRO EN MYSQL

Los archivos de REGISTRO O log son ficheros de texto plano escritos por mysqld para dejar informacin sobre lo que ocurre en el servidor. MySQL tiene varios archivos de registro diferentes que pueden ayudarle a encontrar lo que est ocurriendo en mysqld:
Registro de errores: host_name.err Registro general de consultas: host_name.log Registro de actualizacin binario: mysql-bin.001,mysqlbin.002 Registro de consultas lentas: host-slow.log

Por defecto todos estos ficheros de registro se crean en el directorio de datos de mysqld

EL REGISTRO DE ERRORES (ERROR LOG)

Contiene informacin sobre:

Problemas de inicio, ejecucin y detencin de MySQL as como de posibles errores crticos mientras el servidor se est ejecutando log-error=path

En my.cnf

Por defecto host_name.err y escribe el archivo en el directorio de datos. Si ejecuta FLUSH LOGS, el registro de errores se renombra con el sufijo -old y mysqld crea un nuevo archivo de registro.

EL REGISTRO GENERAL DE CONSULTAS


Registro de consultas:

Guarda las conexiones y los querys ejecutados

En my.cnf log=path Por defecto host_name.log El registro de consultas contiene todas las sentencias Para saber que pasa en mysqld, se debe iniciar con la opcin --log[=file_name] o -l [file_name]. Si no se da un valor para file_name, el nombre por defecto es host_name.log. Esto registra todas las conexiones y sentencias a un archivo. Este registro puede ser muy til cuando sospeche que hay un error en un cliente y quiera saber exactamente qu envi el cliente a mysqld. Las sentencias se escriben en el registro de consultas en el mismo orden que el servidor las recibe no necesariamente a como se ejecutan

EL REGISTRO BINARIO (BINARY LOG)


Registro de actualizacin binario:


Por defecto: host_name-bin.001, host_name-bin.002,

Contiene:
Todas las sentencias que han actualizado datos o podran haberlo hecho: (por ejemplo, un DELETE que no encontr filas concordantes). Cunto ha tardado cada sentencia que actualiz la base de datos . No contiene sentencias que no hayan modificado datos (utilizar el registro de consultas general )

El propsito principal del registro binario es el de actualizar la base de datos durante una operacin de recuperacin tan completamente como sea posible, porque el registro binario contiene todas las actualizaciones hechas tras la copia de seguridad.

EL REGISTRO BINARIO

Aade una extensin numrica al nombre del registro binario


Se incrementa cada vez que se inicia el servidor o se vuelcan los logs Se crea un registro nuevo cuando se llega a max_binlog_size

Cuando se inicia mysql con la opcin log-bin=filename se va escribiendo en el archivo todos los comandos SQL que actualizan datos. Si no se da ningn valor al nombre del archivo el valor por defecto es el nombre del host seguido de .bin. No hay que poner extensin al nombre del fichero Ponerlo en my.cnf: log-bin=file-name Se pueden borrar los archivos de registro binario con RESET MASTER y se pueden examinar con la utilidad mysqlbinlog (desde la shell)

Mysqlbinlog nombreficherolog

EL REGISTRO DE CONSULTAS LENTAS (SLOW QUERY LOG)

Cuando se inicia mysql con la opcin --log-slowqueries[=file_name], mysqld escribe un archivo de registro que contiene todos las sentencias SQL que llevaron ms de long_query_time segundos para ejecutarse completamente o que no utilizaron ndices. Si no indicamos nombre por defecto es host-slow.log En my.cnf

log-slow-queries=path long-query-time =1 log-queries-not-using-indexes

El registro de consultas lentas nos permite encontrar consultas que tomen excesivo tiempo y sean por tanto candidatos a optimizacin El registro de consultas lentas se puede utilizar para encontrar consultas que tomen excesivo tiempo y sean por tanto candidatos a optimizacin. Para hacer ms sencilla la tarea de examinar un registro de consultas lentas se puede procesar el registro de consultas lentas utilizando el comando mysqldumpslow que ofrecer un resumen de las sentencias que aparecen en el registro.

MANTENIMIENTO DE FICHEROS DE REGISTRO (LOG)

Los ficheros logs ocupan mucho espacio en el disco por lo que deben ser eliminados con periodicidad. En algunas distribuciones linux existe un script denominado mysql-log-rotate para esto, si no ha sido instalado automticamente es el administrador el que debe realizar el script y programar la tarea a travs de cron o similar Se puede forzar a MySQL para que comience a utilizar archivos de registro nuevos usando mysqladmin flush-logso con la sentencia SQL FLUSH LOGS. Una operacin de volcado de registros hace lo siguiente:
Si se est utilizando registro (--log) o registro de consultas lentas (--logslow-queries), cierra y reabre el archivo de registro (mysql.log y `hostname`-slow.log por defecto). Si se est utilizando registro de actualizaciones (--log-update) o registro binario (--log-bin) cierra el registro, y abre un nuevo archivo de registro con un nmero de secuencia superior. Si est utilizando tan solo el registro de actualizaciones, tan solo tiene que renombrar el archivo de registro y posteriormente volcar los registros antes de hacer una copia de seguridad.