systemadmin.es > MySQL

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

[...]
Leer mas »

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'

[...]
Leer mas »

MySQL: Listar transacciones bloqueantes

Anteriormente hemos visto cómo sacar los datos del SHOW PROCESSLIST y además el estado de la transacción InnoDB si es el caso, pero aun así deberemos interpretar la salida para buscar las transacciones que están bloqueando. Si tenemos mucha concurrencia nos pude llegar a ser imposible. Mediante la tabla information_schema.innodb_lock_waits podemos resolver dicho problema

[...]
Leer mas »

MySQL: processlist con el estado de la transacción

Al realizar un SHOW PROCESSLIST podemos ver el estado de las conexiones a la base de datos, pero nos perdemos completamente el estado de las transacciones:

mysql> show processlist;
+----+------+-----------+--------------------+---------+------+-------+------------------+
| Id | User | Host      | db                 | Command | Time | State | Info             |
+----+------+-----------+--------------------+---------+------+-------+------------------+
| 81 | root | localhost | jordi              | Sleep   |  532 |       | NULL             |
| 82 | root | localhost | information_schema | Query   |    0 | NULL  | show processlist |
| 83 | root | localhost | NULL               | Sleep   |  119 |       | NULL             |
+----+------+-----------+--------------------+---------+------+-------+------------------+
3 rows in set (0.00 sec)

[...]
Leer mas »

MySQL: SYSDATE() vs NOW()

En MySQL tenemos dos funciones para obtener la fecha actual que difieren muy ligeramente en su funcionamiento SYSDATE() y NOW(). Comparadas en una misma query aparentemente no tienen ninguna diferencia:

mysql> select sysdate(), now();
+---------------------+---------------------+
| sysdate()           | now()               |
+---------------------+---------------------+
| 2014-07-08 19:07:24 | 2014-07-08 19:07:24 |
+---------------------+---------------------+
1 row in set (0.00 sec)

[...]
Leer mas »