Manejando datos

Solución al error 1053 de #MySQL 5.7.2

Posted by in MySQL

Allá por Septiembre 2013 ya os conté mis problemas con MySQL 5.7.2 y mi imposibilidad de instalarlo debido a que me saltaba el error 1053. Aunque invertí mucho tiempo en intentar resolver el problema, no lo conseguí, y dejé pasar el tiempo. Hace unas semanas un amigo me pidió un instalable de MySQL, y le proporcioné el mismo MySQL Installer que yo intenté instalar. Al dia siguiente, me escribió para comentarme que él también recibia el error 1053, así que … la solución al problema sólo me deja dos alternativas:…read more

Plantilla para Procedimientos almacenados en MySQL – MariaDB

Posted by in MariaDB, MySQL

Conforme paso más tiempo programando para MySQL – MariaDB, más necesidad tengo del uso de plantillas, sobre todo porque vas adquiriendo ciertos conocimientos, trucos, etc, …. y de esta forma, no solo no aceleras la programación, sino que también la haces más profesional! Hoy os presento la plantilla para los procedimientos almacenados (stored procedures) que yo estoy usando, y que incluye un resumen final del proceso: CREATE PROCEDURE `Plantilla_SP`() LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT » BEGIN # Versión 1.0.0 – 20131018 DECLARE Num INT DEFAULT…read more

Comparar número de registros de dos bases de datos MySQL-MariaDB

Posted by in MariaDB, MySQL

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( CASE WHEN table_schema = «base_datos_2» THEN table_rows ELSE NULL END) AS «base_datos_2» FROM information_schema.tables WHERE table_schema = «base_datos_1» OR table_schema = «base_datos_2» GROUP BY table_name ORDER BY table_name DESC; Los resultados obtenidos fueron: Prácticamente, son…read more

Mensajes bonitos en MySQL-MariaDB con Common_schema

Posted by in MariaDB, MySQL

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 es la clave de todo. Os pongo un procedimiento de ejemplo: CREATE PROCEDURE `probando`() LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT » BEGIN # Configuramos Mensaje y Separador SET @message := »;…read more

Common_schema. Tamaños por motor y por esquema

Posted by in MariaDB, MySQL

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 que salen en bytes, lo hiciera en Mb. Una consulta alternativa para conocer el tamaño de cada esquema es: SELECT table_schema, ROUND(SUM(data_length+index_length)/1024/1024) AS total_mb, ROUND(SUM(data_length)/1024/1024) AS data_mb, ROUND(SUM(index_length)/1024/1024) AS index_mb FROM INFORMATION_SCHEMA.tables GROUP BY table_schema…read more