Le didacticiel suivant vise à vous fournir un guide simple, étape par étape, pour la configuration MySQL (Maître d'esclave) Réplication dans RHEL 6,3/6.2/6.1/6/5.8, CentOS 6.3/6.2/6.1/6/5.8 et Fedora 17,16,15,14,13,12 en utilisant le dernier MySQL version. Ce guide est spécialement écrit pour CentOS 6.3 Système d'exploitation, mais fonctionne également avec une ancienne version de Linux distributions avec MySQL 5.x.
METTRE À JOUR: Si vous recherchez la réplication maître-esclave MariaDB sous CentOS/RHEL 7 et Debian 8 et ses dérivés tels que Ubuntu, suivez ce guide Configurer la réplication maître-esclave MariaDB.
Le Réplication MySQL est très utile en termes de Sécurité des données, Solution de basculement, Sauvegarde de la base de données à partir de l'esclave, Analytique etc. Nous utilisons les éléments suivants pour effectuer le processus de réplication. Dans votre scénario, ce serait différent.
Nous avons deux serveurs, l'un est Maître avec IP (192.168.1.1) et autre est Trimer comme (192.168.1.2). Nous avons divisé le processus d'installation en deux phases pour vous faciliter la tâche. La phase I nous allons configurer Maître serveur et dans Phase II avec Trimer serveur. Commençons le processus de configuration de la réplication.
Dans La phase I, nous verrons l'installation de MySQL, mise en place Réplication puis vérification de la réplication.
Tout d'abord, procédez avec MySQL installation à l'aide Commande YUM. Si vous avez déjà installé MySQL, vous pouvez ignorer cette étape.
# miam installer mysql-server mysql
Ouvert mon.cnf fichier de configuration avec VI éditeur.
# vi /etc/mon.cnf
Ajoutez les entrées suivantes sous [mysqld] section et n'oubliez pas de remplacer la menthe avec le nom de la base de données sur laquelle vous souhaitez répliquer Trimer.
id_serveur = 1. binlog-do-db=la menthe relay-log = /var/lib/mysql/mysql-relay-bin. relay-log-index = /var/lib/mysql/mysql-relay-bin.index. log-error = /var/lib/mysql/mysql.err. master-info-file = /var/lib/mysql/mysql-master.info. relay-log-info-file = /var/lib/mysql/mysql-relay-log.info. log-bin = /var/lib/mysql/mysql-bin
Redémarrez le MySQL service.
# /etc/init.d/mysqld restart
Connectez-vous à MySQL comme racine utilisateur et créer le utilisateur esclave et accorder des privilèges pour la réplication. Remplacer esclave_utilisateur avec l'utilisateur et votre mot de passe avec mot de passe.
# mysql -u root -p
mysql> GRANT REPLICATION SLAVE ON *.* TO 'esclave_utilisateur'@'%' IDENTIFIÉ PAR 'votre mot de passe'; mysql> EFFACER LES PRIVILÈGES; mysql> FLUSH TABLES AVEC READ LOCK; mysql> AFFICHER L'ÉTAT DU MAÎTRE; +++++ | Fichier | Poste | Binlog_Do_DB | Binlog_Ignore_DB | +++++ |mysql-bin.000003 | 11128001| tecmint | | +++++ 1 ligne dans l'ensemble (0,00 s) mysql> quit ;
Veuillez noter le fichier (mysql-bin.000003) et Poste (11128001) numéros, nous avons demandé ces numéros plus tard Trimer serveur. Postulez ensuite LIRE VERROUILLAGE aux bases de données pour exporter toutes les informations de la base de données et de la base de données principale avec mysqldump commander.
# mysqldump -u root -p --all-databases --master-data > /root/dbdump.db
Une fois que vous avez vidé toutes les bases de données, connectez-vous à nouveau à mysql en tant qu'utilisateur root et déverrouillez les tables.
mysql> DÉVERROUILLER LES TABLES; mysql> quitter ;
Téléchargez le fichier de vidage de la base de données sur Trimer Serveur (192.168.1.2) à l'aide de la commande SCP.
scp /root/dbdump.db [email protégé]:/racine/
Ça y est, nous avons configuré avec succès Maître serveur, passons à Phase II section.
Dans Phase II, nous effectuons l'installation de MySQL, mise en place Réplication puis vérification de la réplication.
Si vous n'avez pas MySQL installé, puis installez-le à l'aide de la commande YUM.
# miam installer mysql-server mysql
Ouvert mon.cnf fichier de configuration avec VI éditeur.
# vi /etc/mon.cnf
Ajoutez les entrées suivantes sous [mysqld] section et n'oubliez pas de remplacer IP adresse de Maître serveur, la menthe avec le nom de la base de données, etc., que vous souhaitez répliquer avec Maître.
id_serveur = 2. maître-hôte=192.168.1.1 master-connect-retry=60. utilisateur-maître=esclave_utilisateur mot de passe maître=votre mot de passe replicate-do-db=la menthe relay-log = /var/lib/mysql/mysql-relay-bin. relay-log-index = /var/lib/mysql/mysql-relay-bin.index. log-error = /var/lib/mysql/mysql.err. master-info-file = /var/lib/mysql/mysql-master.info. relay-log-info-file = /var/lib/mysql/mysql-relay-log.info. log-bin = /var/lib/mysql/mysql-bin
Importez maintenant le fichier de vidage que nous avons exporté dans la commande précédente et redémarrez le service MySQL.
# mysql -u root -p < /root/dbdump.db. # /etc/init.d/mysqld redémarrer.
Connectez-vous à MySQL en tant qu'utilisateur root et arrêter le trimer. Ensuite, dites au trimer où chercher Fichier journal principal, que nous avons noté sur master avec AFFICHER LE STATUT DE MAÎTRE; commande en tant que fichier (mysql-bin.000003) et Poste (11128001) Nombres. Vous devez changer 192.168.1.1 à la IP l'adresse du Serveur maître, et modifiez le utilisateur et le mot de passe par conséquent.
# mysql -u root -p
mysql> arrêt de l'esclave; mysql> CHANGER MASTER EN MASTER_HOST='192.168.1.1', MASTER_USER='esclave_utilisateur', MASTER_PASSWORD='votre mot de passe', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=11128001; mysql> démarrage de l'esclave; mysql> afficher le statut de l'esclave\G
*************************** 1. ligne *************************** Slave_IO_State: En attente de l'envoi de l'événement par le maître Master_Host: 192.168.1.1 Master_User: slave_user Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 12345100 Relay_Log_File: mysql-relay-bin.000002 Relay_Log_Pos: 11381900 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Oui Slave_SQL_Running: Oui Replicate_Do_DB: la menthe Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 12345100 Relay_Log_Space: 11382055 Until_Condition: Aucun Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: Non Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0. Master_SSL_Verify_Server_Cert: Non Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 ligne dans l'ensemble (0,00 s)
Il est vraiment très important de savoir que la réplication fonctionne parfaitement. Sur Maître server create table et insérez-y des valeurs.
mysql> créer la base de données tecmint; mysql> utilisez tecmint; mysql> CREATE TABLE employé (c int); mysql> INSÉRER DANS l'employé (c) VALEURS (1); mysql> SELECT * FROM employé;
++ | c | ++ | 1 | ++ 1 rangée en série (0,00 sec)
Vérification de la TRIMER, en exécutant la même commande, il renverra également les mêmes valeurs dans l'esclave.
mysql> utilisez tecmint; mysql> SELECT * FROM employé;
++ | c | ++ | 1 | ++ 1 rangée en série (0,00 sec)
Ça y est, enfin vous avez configuré Réplication MySQL en quelques étapes simples. Plus d'informations peuvent être trouvées sur Guide de réplication MySQL.