CHANGE MASTER TOmaster_def[,master_def] ... master_def: MASTER_HOST = 'host_name' | MASTER_USER = 'user_name' | MASTER_PASSWORD = 'password' | MASTER_PORT =port_num| MASTER_CONNECT_RETRY =count| MASTER_LOG_FILE = 'master_log_name' | MASTER_LOG_POS =master_log_pos| RELAY_LOG_FILE = 'relay_log_name' | RELAY_LOG_POS =relay_log_pos| MASTER_SSL = {0|1} | MASTER_SSL_CA = 'ca_file_name' | MASTER_SSL_CAPATH = 'ca_directory_name' | MASTER_SSL_CERT = 'cert_file_name' | MASTER_SSL_KEY = 'key_file_name' | MASTER_SSL_CIPHER = 'cipher_list'
Cambia los parámetros que usa el servidor esclavo para conectar y comunicar con el servidor maestro.
          MASTER_USER,
          MASTER_PASSWORD,
          MASTER_SSL,
          MASTER_SSL_CA,
          MASTER_SSL_CAPATH,
          MASTER_SSL_CERT, y
          MASTER_SSL_CIPHER proporciona información
          para el esclavo acerca de cómo conectar con su maestro.
        
          Las opciones SSL (MASTER_SSL,
          MASTER_SSL_CA,
          MASTER_SSL_CAPATH,
          MASTER_SSL_CERT,
          MASTER_SSL_KEY, y
          MASTER_SSL_CIPHER) pueden cambiarse incluso
          en esclavos que se compilan sin soporte SSL. Se guardan en el
          fichero master.info, pero se ignorarn
          hasta que use un servidor que tenga soporte SSL activado.
        
Si no especifica un parámetro dado, mantiene su valor antiguo, excepto cuando se indica en la siguiente discusión. Por ejemplo, si la contraseña para conectar a su maestro MySQL ha cambiado, necesita ejecutar este comando para decir al esclavo la nueva contraseña:
mysql> STOP SLAVE; -- if replication was running mysql> CHANGE MASTER TO MASTER_PASSWORD='new3cret'; mysql> START SLAVE; -- if you want to restart replication
Aquí no hay necesidad de especificar los parámetros que no cambian (equipo, puerto, usuario, y así).
          MASTER_HOST y
          MASTER_PORT son el nombre de equipo (o
          dirección IP) del equipo maestro y su puerto TCP/IP. Tenga en
          cuenta que si MASTER_HOST es igual a
          localhost, entonces, como en otras partes
          de MySQL, el puerto puede ignorarse (si los ficheros socket
          Unix pueden usarse, por ejemplo).
        
          Si especifica MASTER_HOST o
          MASTER_PORT, el esclavo asume que el
          servidor maestro es distinto que antes (incluso si especifica
          un valor de equipo o de puerto igual que el anterior.) En este
          caso, los antiguos valores para el log binario del servidor
          maestro y su posición no se consideran aplicables por más
          tiempo, así que si no especifica
          MASTER_LOG_FILE y
          MASTER_LOG_POS en el comando
          MASTER_LOG_FILE='' y
          MASTER_LOG_POS=4 se añaden al final.
        
          MASTER_LOG_FILE y
          MASTER_LOG_POS son las coordinadas en que
          flujo esclavo de entradea/salida debe empezar a leer del
          maestro la siguiente vez que el flujo arranque. Si especifica
          alguna de ellas, no puede especificar
          RELAY_LOG_FILE o
          RELAY_LOG_POS. Si no se especifica
          MASTER_LOG_FILE ni
          MASTER_LOG_POS , el esclavo usa las
          últimas coordenadas del flujo SQL del esclavo
           antes de realizar CHANGE
          MASTER. Esto asegura que no hay discontinuidad en la
          replicación, incluso si el flujo SQL esclavo se comparó
          posteriormente con el flujo esclavo de entrada/salida, cuando
          símplemente quiere cambiar, digamos, la contraseña a usar.
        
          CHANGE MASTER  borra todos los
          ficheros de log retardados  y arranca uno nuevo, a
          no ser que especifique RELAY_LOG_FILE o
          RELAY_LOG_POS. En tal caso, los logs
          retardados se guardan; en MySQL 5.0, la variable global
          relay_log_purge se pone a 0.
        
          CHANGE MASTER TO actualiza los contenidos
          de los ficheros master.info y
          relay-log.info .
        
          CHANGE MASTER es útil para inicializar un
          esclavo cuando tiene una imagen del maestro y ha guardado el
          log y el desplazamiento correspondientes a la misma. Tras
          cargar la imagen en el esclavo, puede ejecutar CHANGE
          MASTER TO
          MASTER_LOG_FILE='
          en el esclavo.
        log_name_on_master',
          MASTER_LOG_POS=log_offset_on_master
Ejemplos:
mysql> CHANGE MASTER TO
    ->     MASTER_HOST='master2.mycompany.com',
    ->     MASTER_USER='replication',
    ->     MASTER_PASSWORD='bigs3cret',
    ->     MASTER_PORT=3306,
    ->     MASTER_LOG_FILE='master2-bin.001',
    ->     MASTER_LOG_POS=4,
    ->     MASTER_CONNECT_RETRY=10;
mysql> CHANGE MASTER TO
    ->     RELAY_LOG_FILE='slave-relay-bin.006',
    ->     RELAY_LOG_POS=4025;
El primer ejemplo cambia el maestro y las coordenadas del log binario del maestro. Esto se usa cuando quiere preparar el esclavo para replicar el maestro.
          El segundo ejemplo muestra una operación que se emplea menos
          frecuentemente. Si se usa cuando el esclavo tiene logs
          retardados que quiere ejecutar de nuevo por alguna razón.
          Para ello, el maestro no necesita ser accesible. Sólo
          necesita usar CHANGE MASTER TO y arrancar
          el flujo SQL (START SLAVE SQL_THREAD).
        
          Incluso puede usar la segunda operación en una configuración
          de no replicación con un servidor aislado, no esclavo, para
          recuperación de fallos posteriores. Suponga que su servidor
          ha fallado y ha restaurado una copia de seguridad. Quiere
          volver a ejecutar los logs binarios del servidor (no los logs
          retardados, sino los logs binarios regulares), llamados (por
          ejemplo) myhost-bin.*. En primer lugar,
          haga una copia de seguridad de los logs binarios en un sitio
          seguro, en caso que no siga exactamente el procedimiento
          posterior y accidentalmente haga que el servidor purgue los
          logs binarios. En MySQL 5.0, use SET GLOBAL
          relay_log_purge=0 para seguridad adicional. Cuando
          arranca el servidor sin la opción
          --log-bin , En su lugar, use las opciones
          --replicate-same-server-id,
          --relay-log=myhost-bin (para que el
          servidor crea que los logs binarios regulares son los logs
          retardados), --skip-slave-start . Cuando el
          servidor arranca, ejecute estos comandos:
        
mysql> CHANGE MASTER TO
    ->     RELAY_LOG_FILE='myhost-bin.153',
    ->     RELAY_LOG_POS=410,
    ->     MASTER_HOST='some_dummy_string';
mysql> START SLAVE SQL_THREAD;
          El servidor lee y ejecuta sus propios logs binarios,
          permitiendo recuperación de fallos. Una vez que finaliza la
          recuperación, ejecute STOP SLAVE, pare el
          servidor, borre master.info y
          relay-log.info, y reinicie el servidor
          con sus opciones originales.
        
          Actualmente, especificar MASTER_HOST
          (incluso con un valor de prueba) se necesita para hacer que el
          servidor piense que es un esclavo. En el futuro, planeamos
          añadir opciones para evitar estas restricciones menores.
        
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

