Para monitorear el rendimiento de MySQL, que mejor que arrancar por las consultas, para hacer esto disponemos de una serie de alternativas:

  • Activar el Slow Query Log: loguea todas las consultas que se excedan de un tiempo dado (log_query_time) o bien, que no utilicen íncides (log-queries-not-using-indexes). Para activarlo, debemos editar el archivo my.cnf y agregar en la sección [mysqld]:

(más…)

Para reiniciar el MySQL (o cualquier otro servicio) una alternativa más rápida a las Herramientas Administrativas es mediante el comando net.

(más…)

MySQL shell script backup

El cliente mysqldump es la herramienta provista por MySQL para volcar una base de datos como backup o para llevarla a otro servidor SQL (no necesariamente MySQL).

Para realizar una tarea de backup, que mejor que un pequeño script bash para hacer la labor. El siguiente, es un ejemplo de script, para crear un único archivo de backup con todas las bases de datos del servidor, o bien, un archivo por base de datos:

(más…)

Cualquier cliente MySQL puede conectarse a MySQL de dos formas diferentes:

  • Utilizando TCP/IP, así, desde cualquier host de una red un cliente se podrá conectar al servidor (siempre y cuando tenga los permisos)
  • Utilizando sockets en cualquier sistema operativo basado en Unix o named-pipes en cualquier Windows basado en NT.

(más…)

A continuación veremos una serie de consultas útiles, sobre la base de datos information-schema de MySQL para visualizar:

  • Cantidad de tablas, filas, tamaño de archivos de datos e índices y relación de tamaño indice/datos
  • Listado de las tablas más grandes
  • Distribución de datos por motor de almacenamiento

(más…)

Las funciones almacenadas de MySQL son similares a los procedimientos almacenados: son conjunto de comandos SQL que pueden almacenarse en un servidor.

  • Las funciones (FUNCTION) difieren de los procedimientos (PROCEDURES) en:
  • La lista de parámetros solo puede contener parámetros de entrada. No están permitidos parámetros OUT o INOUT, si siquiera es necesario utilizar IN (especificar un parámetro como IN, OUT o INOUT es solo válido para stored procedures)
  • La función siempre debe retornar un valor del tipo definido en la declaración de la función. Siendo este tipo de dato, cualquier tipo de dato válido para MySQL.
  • Las funciones pueden ser llamadas dentro de sentencias SQL como SELECTs, INSERTs, etc.
  • Una función no puede devolver un ResultSet.

(más…)

MySQL tiene una sintaxis bastante flexible comparada con MS SQL al momento de hacer JOINs. En MySQL puedes hacer un JOIN de dos maneras, sin embargo, sería conveniente hacerlo de la forma de MS SQL de manera de que el código sea más portable.

(más…)

Handlers en MySQL

Acerca del uso de Handlers, habiamos hecho un acercamiento tiempo atrás; cuando tratamos Excepciones en MySQL. En esta ocasión, vamos a tratar con más detalle el uso de Handlers (o ‘manejadores’).

Un handler en MySQL es invocado cuando se da un evento o condición definida con anterioridad. Este evento está siempre asociado con una condición de error, pero puedes tener tres formas de definir el error:

  • Como código de error de MySQL
  • Como código SQLSTATE ANSI-standard
  • Como nombre de condición, ejemplo: SQLEXCEPTION,SQLWARNING y NOT FOUND.

(más…)

Al sincronizar tablas o bases de datos, algunas veces es útil tener una forma para actualizar una fila si ya hay una entrada para una clave.

Utilizando la sintaxis de MySQL, ON DUPLICATE KEY UPDATE es posible insertar una fila, si esta no existe, o actualizarla si es que ya existe:
(más…)

Una forma muy elemental, pero muy práctica, de calcular el tamaño de una base de datos MySQL es haciendo la suma de los tamaños de los espacios de datos e índices de cada tabla, a partir del resultado de un SHOW TABLE STATUS.

(más…)


Búsqueda personalizada


Categorías

Licencia de uso

Usuarios

       web counter