Avant de configurer une réplication dans MySQL, les données doivent d'abord être transférées à l'esclave.
Puisque les tables MyISAM peuvent être copiées en tant que fichiers. Serait-il correct de copier des fichiers myisam, .Myd .myi .frm, à l'esclave? Cela suffirait-il à démarrer la réplication?
Depuis que tout est myisam, voici ce que vous devez faire
Si vous n'avez pas server-id
défini dans /etc/my.cnf, ajoutez-en un
[mysqld]
server-id=1
et service mysql restart
Si la journalisation binaire est active sur le maître, faites ceci
RESET MASTER;
pour zaper toutes les journaux binaires et commencer fraîches.
Si la journalisation binaire n'est pas active, faites ceci
log-bin=mysql-bin
sous [mysqld]
dans /etc/my.cnf/var/lib/mysql
Vous pouvez définir (( RSYNC Pour effectuer une copie d'octets-octets de force brute de vos tables myisam de /var/lib/mysql
sur un serveur à /var/lib/mysql
sur un autre serveur. Vous auriez effectué plusieurs rsyncs jusqu'à la dernière RSYNC, qui est très rapide. Ensuite, vous feriez une fermeture complète de MySQL et effectueriez une autre RSYNC. Démarrez MySQL sur le maître et l'esclave.
GRANT REPLICATION CLIENT,REPLICATION SLAVE
ON *.* TO replicator@'PrivateIPofSlave' IDENTIFIED BY 'r3pl1cAt0r';
Exécutez cette commande sur l'esclave
CHANGE MASTER TO
MASTER_Host='PrivateIPofMaster',
MASTER_PORT=3306,
MASTER_USER='replicator',
MASTER_PASSWORD='r3pl1cAt0r',
MASTER_LOG_FILE='XXXX',
MASTER_LOG_POS=YYYY;
START SLAVE;
Qu'est-ce que xxxx et yyyy ???
XXXX
est le dernier fichier journal binaire au moment où vous effectuez finale RSYNC. Il y a une copie de ce fichier dans/var/lib/mysql sur l'esclave. Juste courir ls -l /var/lib/mysql/mysql-bin.0*
Sur l'esclave et utilisez le dernier journal binaire.YYYY
est la position du dernier fichier journal binaire au moment où vous effectuez finale RSYNC. Fait intéressant, la position est également la variation du journal binaire. Juste courir ls -l /var/lib/mysql/mysql-bin.0*
Sur l'esclave et prenez le dernier fichier du journal binaire pour être la position YYYY
.Lance ça
SHOW SLAVE STATUS\G
Si Slave_IO_Running
est Yes
et Slave_SQL_Running
est Yes
, félicitations que vous avez terminé !!!
J'ai écrit des messages similaires sur l'utilisation de rsync comme ceci: