Buscar

Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas
Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas

Linux: Mysql autocompletar

Una de las herramientas cliente para administrar sistemas de bases de datos mysql es el comando mysql.

La funcionalidad de autocompletar con el comando mysql, por defecto está desactivada y se llama: auto-rehash

Con auto-rehash podemos autocompletar utilizando la tecla tabulador (TAB).

Para iniciar el cliente mysql en modo auto-rehash, disponemos de dos posibilidades:

1) MYSQL autocompletar: Vía linea de comandos:


Ejecutamos el comando mysql seguido del parámetro: auto-rehash

mysql --auto-rehash -u root -p

2) MYSQL autocompletar: Vía fichero de configuración general (todos los usuarios)


En el interior del fichero: /etc/my.cnf

en el apartado:

[mysql]

Añadimos:

auto-rehash

Si quisiéramos desactivar el autocompletar en el fichero de configuración my.cnf:

en el apartado:

[mysql]

Añadimos:

no-auto-rehash

3) MYSQL autocompletar: Vía fichero de configuración a nivel de usuario.


En el interior del fichero: ~/.my.cnf (fichero oculto situado en el home-directory del usuario)

en el apartado:

[mysql]

Añadimos:

auto-rehash

Si quisiéramos desactivar el autocompletar en el fichero de configuración ~/.my.cnf:

en el apartado:

[mysql]

Añadimos:

no-auto-rehash


Linux: Mysql monitor en tiempo real manual

En muchas ocasiones necesitamos monitorizar a tiempo real las conexiones que se están realizando a nuestro Mysql.

Si utilizamos el comando top, tenemos la posibilidad de ver el uso de recursos y número de procesos que está utilizando el servicio MySQL, sin embargo no podemos ver el detalle de las querys, inserts, updates.

Esta monitorización a nivel de servicio puede realizarse con todo tipo de herramientas, una de ellas, muy extendida es Mytop (jeremy.zawodny.com)

En el caso de distribuciones RHEL/CentOS, encontraremos el paquete de Mytop en los repositorios RPMForge o EPEL.

También existen herramientas GUI que podemos utilizar fuera del servidor, conectar al servicio y monitorizar, sin embargo en ocasiones, nos encontramos que por motivos de seguridad solo están permitidas las conexiones al servicio MySQL desde localhost (127.0.0.1)

Siempre tenemos la posibilidad de utilizar el cliente de mysql, conectar al servicio y ejecutar show processlist, de esta forma, vemos los procesos del servicio en tiempo real.

Veamos el siguiente ejemplo:

watch -n 6 --differences "mysql -u root -pXXXXXXXXXXX -e 'show processlist'"

Salida monitor MySQL

Explicación del comando:

watch -n 6 --differences: El comando watch nos muestra el contenido que especifiquemos como parámetro. 

En este caso, se especificará la salida de ejecución del cliente mysql.

Además, indicamos el parámetro -n 6, que realizará un refresco cada 6 segundos y el parámetro --differences, que resaltará de forma visual las diferencias.

mysql -u root -pXXXXXXXXXXX -e 'show processlist': mysql, es el cliente mysql en modo texto, con los parámetros -u y -p especificamos las credenciales y con el parámetro -e especificamos el comando SQL a ejecutar.

Consideraciones adicionales:

También nos podemos encontrar que las sentencias de SQL de Select, Insert, Update, etc. queden truncadas en la salida por pantalla. Para evitar este problema, podemos cambiar show processlist por show full processlist.

Para interpretar el resultado de la ejecución de show processlist podemos consultar la siguiente referencia: SHOW PROCESSLIST Syntax (dev.mysql.com)



Linux: MySQL - Ver la fecha de creación y actualización de una tabla

Con MySQL podemos averiguar la  fecha de creación y actualización de una tabla.

Fecha de creación:

SELECT create_time FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'NOMBRE-Base-de-datos' AND table_name = 'NOMBRE-Tabla';

Fecha de actualización:

SELECT Update_time FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'NOMBRE-Base-de-datos' AND table_name = 'NOMBRE-Tabla';

Ejemplo:

En el siguiente ejemplo podemos ver como la tabla se creó el 31/07/2012 y no ha sufrido modificaciones en su estructura ya que la fecha de actualización es la misma que la fecha de creación.

Linux: MySQL - Ver la fecha de creación y actualización de una tabla