MySQL Foreign Keys Ejemplo Y ERROR 1452

Original post - http://anothermysqldba.blogspot.com/2014/08/mysql-foreign-keys-example-error-1452.html

Así que me encontré con una situación hoy en día se trata de tener que actualizar un campo, pero el usuario no podía hacerlo debido a las restricciones de claves foráneas afines. 

Esta entrada de blog con ser un ejemplo sencillo que muestra una clave externa y cómo actualizarlos si tiene que hacerlo. 

En primer lugar vamos a crear una tabla simple y rellenarla con datos aleatorios. 

CREATE TABLE `table_w_code` ( 
`SOMECode` varchar(50) COLLATE utf8_unicode_ci NOT NULL, 
`NameofCode` varchar(50) COLLATE utf8_unicode_ci NOT NULL, 
PRIMARY KEY (`SOMECode`) 
) ENGINE=InnoDB ; 

[Lea más]
¿Qué herramienta de compresión debería usar para las copias de seguridad de mi base de datos? (Parte I: compresión)

Esta semana hablamos de tamaño, algo que debería preocuparle a cualquier administrador de sistemas a cargo del sistema de backups de cualquier proyecto, y en particular de los backups de una base de datos.

A menudo recibo preguntas sobre cuál es la mejor herramienta de compresión a aplicar en un sistema de copias de seguridad: ¿gzip? ¿bzip2? ¿algún otro?

El entorno de pruebas

Para poder probar diferentes formatos y herramientas, creé un archivo .csv (comma-separated values, valores separados por comas) de tamaño 3.700.635.579 bytes transformando un dump reciente de todos los nodos de la porción europea de España en OpenStreetMap. Tenía un total de 46.741.126 de filas y tenía la siguiente pinta:

171773  38.6048402      -0.0489871      4       2012-08-25 00:37:46     12850816        472193 …
[Lea más]
Cómo instalar MySQL 5.6 en CentOS 7

Un poco de historia

La última versión de Red Hat Enterprise Linux, una de las distribuciones de Linux más populares y respetadas en el mercado de servidores, se publicó en junio de 2014, seguido por los lanzamientos de CentOS 7 y Oracle Linux en julio del mismo año.

Hay cambios muy interesantes para administradores de bases de datos en estas nuevas versiones, de las cuales me gustaría destacar el hecho de que el instalador oficial ahora selecciona XFS como el sistema de archivos por defecto, …

[Lea más]
Consultas de referencias cruzadas en MySQL

Hace algún tiempo que uso Redmine para gestionar proyectos, la herramienta en general es buena pero a veces necesitaba de reportes diarios de tiempo utilizado por los miembros del proyecto.

En este punto se me ocurrió si podría lograr una consulta de referencias cruzadas (al estilo MS Excel), MySQL no soporta consultas de ese tipo pero pueden simularse:

1. Escribir la consulta principal que contenga las filas más importantes: project identifier, task subject y total_hours, todo en un rango de fechas.

select p.identifier, 
        e.issue_id, i.subject, round(sum(e.hours),2) as total_hours
        from redmine_nsp.time_entries e
        inner join redmine_nsp.issues i on e.issue_id = i.id
        inner join redmine_nsp.projects p on e.project_id = p.id
        where e.spent_on between '2014-07-01' and '2014-07-07'
 group by p.identifier,e.issue_id;

Resultado:

[Lea más]
Test de procesos de selección – parte 2

Siguiendo el post anterior sobre malas preguntas en test de procesos de selección, hoy veremos la siguiente pregunta:

¿Cuantos servidores MySQL puedes ejecutar al mismo tiempo en un solo servidor usando unicamente una sola IP?

Las opciones son las siguientes:

  • Es necesaria una IP para cada servicio, se deben añadir más IPs al servidor: Falso, podemos hacer escuchar el daemon en otro puerto.
  • MySQL usa el puerto 3306, se puede cambiar, pero no se recomienda: Que se el por defecto no quiere decir que no se pueda cambiar ni que no se recomienda, simplemente que debe tenerse en cuenta

La parte complicada viene con:

  • Puedes ejecutar tantos servicios como quieras: Dado que habla de IP, …
[Lea más]
Let’s try MariaDB

I should have written this entrance before, because the original in spanish was published on September 2013, one year ago! After installing MySQL and all the entrance related to MySQL upgrading versions, here for 5.6 and here for 5.7, I must try MariaDB. Let’s try MariaDB 10 It has been on alpha state (in developing …

Continue reading »

Esta entrada Let’s try MariaDB es contenido original de Manejando datos - Blog de bases de datos y programación. This entrance Let’s try MariaDB is created by Manejando datos - Blog de bases de datos y …

[Lea más]
Cómo calcular el consumo máximo de memoria de MySQL

Para poder dimensionar las variables referentes a tamaños de memoria de un MySQL deberemos tener en cuenta si se trata de un buffer global o bien por thread. Lo podemos calcular automáticamente con la salida de SHOW VARIABLES y esta herramienta online

Las variables siguientes se tratan de buffers globales:

  • key_buffer_size
  • query_cache_size
  • tmp_table_size
  • innodb_buffer_pool_size
  • innodb_additional_mem_pool_size
  • innodb_log_buffer_size

Mientras que las siguientes son por thread:

  • sort_buffer_size
  • read_buffer_size
  • read_rnd_buffer_size
  • join_buffer_size
  • thread_stack
[Lea más]
Error MySQL secure_auth

Original post: http://anothermysqldba.blogspot.com/2014/07/mysql-secureauth-error.html

Me dirigí a los errores secure_auth antes cuando la replicación se bloquea en esta entrada del blog . 

Sin embargo, pensé que iba a hacer este blog publicar una solución más general cuando se conecta a través de clientes de MySQL.Esto es para los servidores antes de MySQL 5.6. 

Así que si usted consigue un error secure_auth cuando la conexión a MySQL los siguientes pasos debe eliminar este error. 

[Lea más]
MySQL 5.6: [ERROR] Can’t find messagefile /usr/share/mysql/errmsg.sys

Instalando una base de datos con MySQL 5.6 nos podemos encontrar con el siguiente error al intentar inicializar el datadir:

# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/var/mysql --basedir=/usr/local/mysql
Installing MySQL system tables...2014-07-15 10:13:45 0 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
2014-07-15 10:13:45 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-07-15 10:13:45 6962 [ERROR] Can't find messagefile '/usr/share/mysql/errmsg.sys'

En realidad lo que esta ocurriendo es que no esta encontrando las variables necesarias para hacer la instalación, por lo que simplemente deberemos indicar mediante la opción …

[Lea más]
Comment on Installing new modules in Python by Anaconda and MySQL - Manejando datos

[…] you need to install a package. On a previous post, I already explained how you can install MySQLdb, but, even doing this, it doesn’t […]