MySQL Federated

De Cacauet Wiki
Dreceres ràpides: navegació, cerca

MySQL permet veure taules en instàncies remotes com si estiguessin en local. Es realitza a través del motor FEDERATED de la taula.

El principi és senzill:

  • La taula remota pot tenir qualsevol motor (MyISAM, InnoDB, ...)
  • La taula local s'ha de definir exactament igual que la remota, però amb el motor FEDERATED:
    ENGINE=FEDERATED
  • Cal definir un usuari que permeti la connexió remota (un usuari root remot és totalment desaconsellat).

Pràctica:

  • Crea 2 màquines Linux i instal·la hi MySQL. Han de veure's entre elles.
  • Utilitza aquest link amb un exemple de taules Federated per crear una taula remota i un accés a aquesta amb aquest sistema.
  • Si en algun moment us dona un warning, podeu comprovar què ha passat amb la instrucció:
    show warnings;

Configuracions necessàries:

  • Cal configurar la màquina remota per permetre les connexions entrants. A my.conf comenta la línia on apareix la directiva "bind_address".
  • En Ubuntu cal activar les taules FEDERATED en my.conf. Simplement cal afegir la línia federated a la secció [mysqld] de my.conf del CLIENT.
    Podeu comprovar si teniu activat el motor Federated amb:
    mysql> show engines;
  • Ull amb la taula que creeu. No pot tenir índexs sobre VARCHAR (tot i que sí funcionen sobre INT).