Академический Документы
Профессиональный Документы
Культура Документы
MYSQL
ADMINISTRACION DE BASE DE DATOS
EN
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
Para ver las opciones que mysqld acepta en lnea de comandos podemos utilizar:
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.
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 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
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.
Registro de consultas:
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
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
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
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
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.
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.