Check de Nagios para el log de MySQL

En el log del MySQL podemos encontrar errores, como tablas corruptas, que de otra forma deberíamos de detectar en la capa de aplicación

Tomando de ejemplo una tabla corrupta, tendríamos en el log entradas similares a la siguiente por cada query que use dicha tabla:

130107 20:00:19 [ERROR] /usr/local/mysql/bin/mysqld: Table './db/tbl' is marked as crashed and should be repaired

Otros errores comunes, como por ejemplo el Sort aborted (una query con sort que no se ha podido completar o la hemos matado) podemos ignorar el error para que no nos vaya saltando la alerta de Nagios:

120913 10:58:03 [ERROR] /usr/local/mysql51/libexec/mysqld: Sort aborted

En el caso que tengamos un sistema de ficheros dedicado para el datadir del MySQL, se nos quejará que el directorio …

[Lea más]
Importador/Exportador para MySQL: mydumper y myloader

De sobra es conocido que mysqldump no es la mejor forma de hacer backups por lo básica que es la herramienta. Anteriormente ya hemos hablado de otras herramientas como mylvmbackup que hace un backup físico (datafiles) de la base de datos, vamos a ver el caso de mydumper.

Dicha herramienta la ha creado Domas Mituzas que según dice:

My current occupations:
Database Engineer at Facebook
Systems Engineer at Wikimedia Foundation (Wikipedia)

Para instalarla haremos:

cd /usr/local/src
wget https://launchpad.net/mydumper/0.5/0.5.2/+download/mydumper-0.5.2.tar.gz
tar xzf mydumper-0.5.2.tar.gz 
cd mydumper-0.5.2

Necesitaremos tener instalado …

[Lea más]
Comparar número de registros de dos bases de datos MySQL-MariaDB

La semana pasada me surgió la necesidad de comparar 2 bases de datos casi idénticas en MySQL. Como me corria un poco de prisa, decidí crear una consulta simple para ver si todo estaba bien: SELECT table_name, engine, row_format , SUM( CASE WHEN table_schema = "base_datos_1" THEN table_rows ELSE NULL END) AS "base_datos_1" , SUM( …

Continuar leyendo »

The post Comparar número de registros de dos bases de datos MySQL-MariaDB appeared first on Manejando datos.

Mensajes bonitos en MySQL-MariaDB con Common_schema

Una de las características que más me gusta de Common_schema es la posibilidad de ir escribiendo mensajes durante la ejecución de un procedimiento, y una vez concluido, mostrarlos, pero diferenciando un mensaje por cada registro. En definitiva, ejecutamos una tarea de un procedimiento almacenado, y vamos completando el mensaje. Hay un separador de línea que …

Continuar leyendo »

The post Mensajes bonitos en MySQL-MariaDB con Common_schema appeared first on Manejando datos.

Common_schema. Tamaños por motor y por esquema

Otras dos utilidades muy interesantes del framework common_schema es conocer el tamaño que estamos usando por motor (MyIsam, InnoDB, Memory, …), o bien, el que usamos por base de datos. Para llamarlas: SELECT * FROM common_schema.data_size_per_engine; SELECT * FROM common_schema.data_size_per_schema; En mi opinión, sería más “transparente” para el usuario que en lugar de los números …

Continuar leyendo »

The post Common_schema. Tamaños por motor y por esquema appeared first on Manejando datos.

Instalación de Common_schema en MySQL – MariaDB

Septiembre de 2013 ha sido el mes #MySQL en www.manejandodatos.es, y hemos hablado de cómo instalar, desinstalar, backups, personalización de configuración, ficheros de registros, corrección del error 1067, … Aunque al principio del blog se habló de frameworks para DBA de MySQL (también para #MariaDB) hoy es hora de instalar common_schema. Instalando Commom schema Common …

Continuar leyendo »

The post Instalación de Common_schema en MySQL – MariaDB appeared first on Manejando datos.

Caracteres especiales en nombres de tablas MySQL

En la NCN2013 dijeron que en el CTF uno de los retos era complicado porque el nombre de tabla empezaba por espacio, por lo que me he mirado los rangos permitidos en MySQL.

Según la documentación sobre los nombres de tablas, los caracteres permitidos sin comillas son:

Permitted characters in unquoted identifiers:

 - ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore)
 - Extended: U+0080 .. U+FFFF 

Lo cual de por sí ya nos da muchas opciones, por ejemplo:

mysql> create table català(id int);
Query OK, 0 rows affected (0.41 sec)

Pero si usamos comillas, tenemos muchas más posibilidades:

Permitted characters in quoted identifiers include the full …
[Lea más]
Comentario en Buscando campos entre todas las bases de datos de MySQL-MariaDB por bottes neige femme vieux campeur

Hello there, I located your internet site by way of Google at the exact same time as looking for a comparable matter, your internet site arrived up, it seems to be excellent. I have bookmarked it in my google bookmarks.

MySQL en Google Cloud SQL

Original post: http://anothermysqldba.blogspot.com/2013/10/mysql-in-google-cloud-sql.html

Si todavía no has visto este .. muy bien ...

puede "acceder mediante Client MySQL y otras herramientas de administración y presentación de informes que trabajan con bases de datos MySQL."

http://gigaom.com/2013/10/30/google-woos-mysql-faithful-to-its-cloud/

"Google Cloud SQL es una base de datos MySQL que vive en la nube de Google. Tiene todas las capacidades y funcionalidades de MySQL, con algunas características adicionales y …

[Lea más]
Instalando paquetes de Python

Python incluye la posibilidad de ampliar su funcionalidad con paquetes, que no son sino nuevas funciones que se añaden a los scripts para ampliar funcionalidades, de igual modo que se incluyen las librerías en Visual Basic. Aquí vamos a instalar dos de los paquetes más populares: NumPy es un paquete para el cálculo científico con …

Continuar leyendo »

The post Instalando paquetes de Python appeared first on Manejando datos.