Displaying posts with tag: MySQL (reset)
Habilitar InnoDB en MySQL

InnoDB es uno de los motores de almacenamiento que incluye MySQL por defecto desde hace varias versiones, y a partir de la 5.5 va a ser el utilizado por defecto en decrimento de MyISAM. Su características principales son el soporte de transacciones, lo que permite una gestión de los bloqueos a nivel de tabla/fila mucho más inteligente, y también permite realizar backups incrementales en caliente, pero además tiene soporte de integridad referencial, por lo que podemos crear claves ajenas o foráneas entre tablas.

La versión de Drupal de alto rendimiento Presflow recomienda InnoDB como storage engine y Drupal 7 lo utiliza por defecto, …

[Lea más]
Instalación de un servidor LAMP II (MySQL 5.5)

Para instalar un servidor LAMP moderno debemos pasar de instalar MySQL 5.1 a instalar la última versión estable de MySQL: La versión 5.5. Uno de los cambios más destacados es el nuevo sistema de compilación mediante cmake substituyendo al clásico configure. Es por esto que deberemos instalar los siguientes paquetes (o equivalentes): yum install cmake [...]

Una vista a MySQL Workbench 5.2 – SQL Editor

Nota previa: Esta no es una review minuciosa, es mas bien un tibio comentario sobre mi experiencia de usuario en las ultimas semanas con la herramienta MySQL Workbench 5.2.31 sobre Ubuntu 10.10.

Mi trabajo con MySQL aun no ha llegado al nivel de complejidad que quisiera, ya que tambien trabajo con SQL Server,  es propicia la ocasión para compartiles mis apreciaciones, respecto al Editor SQL (que antes fue MySQL Query Browser).

Si bien estoy muy acostumbrado a la linea de comando, éste no me permite guardar/recuperar un historial de consultas o advertirme de algún “horror”, incluso ahora prefiero la linea de comando por que me cuesta menos “clicks” y pulsaciones del teclado. Pero cuando las cosas se ponen serias, o mas complejas, una herramienta como Workbenck se hace completamente …

[Lea más]
Error al arrancar slave MySQL: Got fatal error 1236 from master when reading data from binary log

Al arrancar un slave MySQL nos podemos encontrar con el siguiente error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file Puede ser difícil de ver, pero la solución suele ser muy simple. El MySQL nos esta diciendo que no [...]

Text

Voy a cambiar un poco de temática, ya que no solo de MySQL vive el mundo 2.0 ;) Apache, el servidor web estándar en el ecosistema LAMP es uno de los grandes olvidados a la hora de hacer un buen tuning de nuestra plataforma. A continuación voy a explicar una serie de pasos recomendados para lograr el máximo rendimiento de nuestra máquina y al mismo tiempo evitar que esta se caiga bajo un gran pico de visitas. Ni copiar configuraciones de internet ni dejar los valores por defecto son buenas ideas ;)

A la hora de instalar Apache debemos elegir entre dos versiones, aunque generalmente lo elegirá nuestro gestor de paquetes.

  • Apache Worker

Incluido desde Apache 2.0. Utiliza menos memoria y tiene un mejor rendimiento. Se lanzan múltiples procesos y cada uno de estos pueden correr múltiples threads.

  • Apache Prefork

Es el MPM por defecto en Apache 1.3 y …

[Lea más]
(No) Escalado de escrituras en MySQL

Muchas veces se montan replicaciones Master-Master con el fin de "balancear y escalar escrituras". En MySQL el concepto de escalabilidad existe, pero únicamente en lecturas. En cambio, con las escrituras esto no es posible a no ser que usemos engines especiales como SpiderSQL o modificaciones de replicación como Galera. Las razones por las que no se recomienda usar Master-Master para balanceo de carga son las siguientes:

  • El balanceo de carga es falso, por el simple hecho de tener una replicación master-master. Si lanzas una Update al HostA que tarda 5 minutos en terminar, cuando la query se replique al HostB este tardará también 5 minutos. Aquí no hay balanceo de carga, da igual a que host lances el INSERT o el UPDATE, todos tendrán que ejecutarlo y dedicar recursos. Por lo …

[Lea más]
Cuando un cliente te pregunta cual ha sido el mayor pico de conexiones...

Cuando un cliente te pregunta cual ha sido el mayor pico de conexiones recibido es facil de responder:

mysql> show status like '%max_used%';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 341   | 
+----------------------+-------+
1 row in set (0.00 sec)

Pero si el cliente te pregunta cuando, no tienes ningún dato que darle, ya que MySQL no guarda ese dato. Aquí voy a presentaros dos formas de hacerlo, una más elegante pero que os llevará algo más de trabajo y una menos elegante pero más facil de implantar.

La elegante

La primera, la elegante, nos la trae el blog systemadmin.es. Se trata de un parche para la versión 5.1 que le permite a MySQL guardar no solo el pico de …

[Lea más]
Muchas de las instalaciones de replicación en MySQL no buscan ni...

Muchas de las instalaciones de replicación en MySQL no buscan ni balanceo de escrituras/lecturas ni alta disponibilidad, si no un simple backup en vivo. Montar una replicación es sencillo, no necesita hardware costoso y nos puede salvar de algunas situaciones complicadas. Por ejemplo, corrupción de tablas, errores en la controladora RAID o simplemente borrado de tablas directamente desde el sistema de ficheros. Si alguna de estas cosas pasa, tendremos el esclavo con un backup reciente de nuestros datos.

Pero la gente no tiene en cuenta que un backup usando esclavo no te salva de algunos errores humanos o de programación. Imaginemos que el empleado de recursos humanos se conecta a la base de datos de la empresa y quiere eliminar el salario de un trabajador recientemente despedido. Y ejecuta los siguientes comandos:

master [localhost] {msandbox} (employees) > show tables;
+---------------------+
| Tables_in_employees | …
[Lea más]
MySQL 5.5 – Nuevas características

El paso de MySQL 5.5 a estable (Generally Available) el pasado 15 de diciembre ha pasado sin pena ni gloria. Vamos a ver que diferencias importantes tenemos con esta nueva release y como instalar dicha versión, ya que ha sufrido cambios. Las principales características que de la versión 5.5 de MySQL son las siguientes: Principalmente [...]

Patch al MySQL 5.1 para guardar el timestamp cuando aumenta el max_used_connections

En MySQL existe el contador Max_used_connections que se va incrementando a medida que el número de threads concurrentes crece: Funciona como una high-water mark, marca el número máximo de threads que ha llegado durante la vida del proceso mysqld, pero no sabemos cuando ha sido la última vez que se ha llegado a dicho nivel. [...]