MySQL: slave en sólo lectura

En un post anterior se habló de cómo montar un sistema de replicación de MySQL master-slave y las ventajas que esto supone para la alta disponibilidad.
Hay veces que también puede ofrecer una mejora considerable en un sistema, al tener un único nodo de escritura y otro nodo de lectura. Si esto va a suceder, lo mejor es indicar que el servidor slave será de 'sólo lectura', para conseguir así optimizar las consultas.
La desventaja de esto es que la aplicación que realice las consultas no puede realizar ninguna escritura, si lo hace, ésta será denegada, ya que en el slave luego no se podrá escribir y todas las escrituras las habrá que realizar desde el master. Algo que además deja una mejor consistencia en los datos: en el master se escribe y en los slaves se lee.
Para conseguir realizar esto, MySQL tiene una variable que podemos establecer en el fichero de configuración (/etc/my.cfg) para que se comporte como servidor de sólo lectura.
read_only

Luego desde el prompt de MySQL lo comprobamos.
mysql> show variables like 'read_only';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| read_only     | ON    |
+---------------+-------+
1 row in set (0.00 sec)

La entrada, MySQL: slave en sólo lectura la puedes leer en El mundo en bits.


1 comentario :

  1. Si se desea poner en caliente, se puede hacer ejecutando:
    mysql> set global read_only=1;

    ResponderEliminar

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios