Guía rápida de administración de MySQL

0 Comments

Funciones del Administrador de Bases de Datos

Las funciones de un administrador de bases de datos son:

  • Gestión del software:
    • instalación del software,
    • actualización del software,
    • conexión de programas (por ej. ofimática) con el servidor de bases de datos.
  • Gestión de las bases de datos:
    • creación de bases de datos,
    • importación y exportación de datos,
    • copias de seguridad y recuperación,
    • optimización de las tablas,
    • análisis de la integridad y reparación.
  • Gestión de los usuarios:
    • creación de usuarios y bajas,
    • asignación de permisos.
  • Gestión de los recursos:
    • monitorización del rendimiento y el tamaño,
    • gestión del espacio y asignación de quotas,
    • configuración óptima del servidor.
  • Gestión de la seguridad:
    • monitorización de los accesos,
    • configuración segura del servidor.

Funcionamiento y flujo de datos del servidor MySQL

  1. Los clientes se conectan a servidor.
  2. Los clientes inician autentificación, codifican y envían peticiones, comprimen y cifran peticiones, cachean los resultados del servidor
  3. El servidor procesa las peticiones y devuelve las respuestas.
  4. Las peticiones son procesadas primero por la capa de manipulación, que las desencripta, valida su sintaxis, las busca en la caché, y las envía al correspondiente motor de almacenamiento.
  5. Los motores de almacenamiento (MyISAM, InnoDB, Memory, …) manejan la representación en memoria y disco de bases de datos, tablas e índices, así como generación de estadísticas y algunos logs.
  6. La capa de manejo escribe logs a disco, guarda y lee caches en memoria, lee logs binarios de la red, Los motores de almacenamiento guardan datos (tablas, logs, …) en disco y en memoria, envía datos a otros servidores remotos.

  • El servidor MySQL utiliza espacio en disco para almacenar lo siguiente:
    • Los programas cliente y servidor, y sus librerías.

    • Los ficheros de registro (“logs”) y de estado.
    • Las bases de datos.
    • Los ficheros de formato de tablas (‘*.frm’) para todos los motores de almacenamiento, y los ficheros de datos y ficheros de índices para algunos motores de almacenamiento.
    • Los ficheros de “tablespaces” de InnoDB, si el motor de almacenamiento InnoDB está activado.
    • Tablas temporales internas que han sobrepasado el límite de tamaño en memoria y deben ser convertidas a tablas en disco.

  • El servidor MySQL utiliza espacio en memoria para almacenar lo siguiente:
    • Gestores de conexión (cada conexión consume memoria).
    • Buffers que guardan tablas temporales internas que no han sobrepasado el
    • límite de tamaño en memoria.
    • Cachés: caché de hosts, la caché de tablas, la caché de consultas, etc.
    • Una copia de la tabla de permisos.
    • El contenido de las tablas HEAP (motor de almacenamiento en memoria). Su
    • fichero de formato (‘*.frm’) se continua guardando en disco.
  • El servidor MySQL utiliza los siguientes buffers por cada cliente:
      • Buffers de registros para las búsquedas secuenciales en tablas
      • (‘read_buffer_size’) y para leer las líneas después de una ordenación
      • (‘read_rnd_buffer_size’) normalmente conseguida mediante la cláusula ORDER.
    • Buffer de join para las uniones de tablas.
    • Buffer de ordenación para las operaciones de ordenación.
      • Buffer de comunicaciones para intercambiar información con el cliente.
      • Comienza con un tamaño de ‘net_buffer_length’, pero si es necesario el servidor aumenta su tamaño al señalado por ‘max_allowed_packet’.
  • Los límites que el sistema operativo puede imponer al servidor MySQL son:
    • El máximo número de ficheros abiertos por proceso limita el tamaño máximo de la caché de tablas, que guarda los descriptores de ficheros para los ficheros de tablas.
    • El máximo número de hilos de ejecución por proceso limita el número de clientes que se pueden conectar simultáneamente al servidor MySQL.
    • El ‘backlog’ permitido por el sistema limita el número de conexiones de red en cola debido a clientes que esperan a conectarse.
    • El sistema de ficheros donde se guardan los datos limita el tamaño máximo del fichero, pero este límite puede esquivarse repartiendo los datos en varios ficheros.
  • Para registrar los errores podemos iniciar el servidor mediante ‘mysqld_safe’.
  • Para ver los errores debemos buscar un fichero en el directorio de datos con el nombre de la máquina y con el sufijo ‘.err’.
  • Para registrar las modificaciones de datos de las tablas podemos iniciar el servidor con la opción “–log-bin”. Para ver dicho registro se utiliza la herramienta ‘mysqlbinlog’.
  • Ver la actividad del servidor
  •      mysql>  SHOW STATUS;
         shell>  mysqladmin extended-status
  • Ver la configuración del servidor:
  •      mysql>  SHOW VARIABLES;
         shell>  mysqladmin variables
  • Lecturas para profundizar:

Volver al indice de la guia.

One Reply to “Guía rápida de administración de MySQL”

  1. Hola! no tenes mas ampliada la informacion sobre
    # El servidor MySQL utiliza espacio en memoria para almacenar lo siguiente:

    * Gestores de conexión (cada conexión consume memoria).
    * Buffers que guardan tablas temporales internas que no han sobrepasado el
    * límite de tamaño en memoria.
    * Cachés: caché de hosts, la caché de tablas, la caché de consultas, etc.
    * Una copia de la tabla de permisos.
    * El contenido de las tablas HEAP (motor de almacenamiento en memoria). Su
    * fichero de formato (’*.frm’) se continua guardando en disco.

    # El servidor MySQL utiliza los siguientes buffers por cada cliente:

    *
    o Buffers de registros para las búsquedas secuenciales en tablas
    o (’read_buffer_size’) y para leer las líneas después de una ordenación
    o (’read_rnd_buffer_size’) normalmente conseguida mediante la cláusula ORDER.
    * Buffer de join para las uniones de tablas.
    * Buffer de ordenación para las operaciones de ordenación.
    o Buffer de comunicaciones para intercambiar información con el cliente.
    o Comienza con un tamaño de ‘net_buffer_length’, pero si es necesario el servidor aumenta su tamaño al señalado por ‘max_allowed_packet’.

    como mas explicada

Deja tus preguntas o comentarios