Următorul tutorial își propune să vă ofere un ghid simplu pas cu pas pentru configurare MySQL (Stăpân-Sclav) Replicare în RHEL 6.3 / 6.2 / 6.1 / 6 / 5.8, CentOS 6.3 / 6.2 / 6.1 / 6 / 5.8 și Fedora 17,16,15,14,13,12 folosind cele mai recente MySQL versiune. Acest ghid este special scris pentru CentOS 6.3 Sistem de operare, dar funcționează și cu versiuni mai vechi de Linux distribuții cu MySQL 5.x.
ACTUALIZAȚI: Dacă sunteți în căutarea Replicării Master-Slave MariaDB sub CentOS / RHEL 7 și Debian 8 și derivate precum Ubuntu, urmați acest ghid Configurați replicarea Master-Slave MariaDB.
Replicare MySQL este foarte util în ceea ce privește Securitatea datelor, Soluție de failover, Backup de baze de date de la Slave, Analize etc. Folosim următoarele lucruri pentru a efectua procesul de replicare. În scenariul dvs. ar fi diferit.
Avem două servere, unul este Maestru cu IP (192.168.1.1) și altul este Sclav la fel de (192.168.1.2). Am împărțit procesul de configurare în două faze pentru a vă ușura lucrurile, în Faza I vom configura Maestru server și în Faza II cu Sclav Server. Să începem procesul de configurare a replicării.
În Faza I, vom vedea instalarea MySQL, configurare Replicare și apoi verificarea replicării.
Mai întâi, continuați cu MySQL instalare folosind Comanda YUM. Dacă aveți deja instalarea MySQL, puteți sări peste acest pas.
# yum instala mysql-server mysql
Deschis my.cnf fișier de configurare cu VI editor.
# vi /etc/my.cnf
Adăugați următoarele intrări sub [mysqld] secțiunea și nu uitați să înlocuiți tecmint cu numele bazei de date pe care doriți să îl reproduceți Sclav.
server-id = 1. binlog-do-db =tecmint 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
Reporniți MySQL serviciu.
# /etc/init.d/mysqld reporniți
Conectați-vă la MySQL la fel de rădăcină utilizator și creați fișierul utilizator sclav și acordă privilegii pentru replicare. A inlocui utilizator_sclav cu utilizator și parola Dvs cu parola.
# mysql -u root -p
mysql> GRANT REPLICATION SLAVE ON *. * TO 'utilizator_sclav'@'% 'IDENTIFICAT DE'parola Dvs'; mysql> PRIVILEGII FLUSH; mysql> MESE DE ÎNVĂȚARE CU LOC DE CITIRE; mysql> AFIȘAȚI STATUL MASTER; +++++ | Fișier | Poziție | Binlog_Do_DB | Binlog_Ignore_DB | +++++ |mysql-bin.000003 | 11128001| tecmint | | +++++ 1 rând în set (0,00 sec) mysql> ieși;
Vă rugăm să notați fișierul (mysql-bin.000003) și poziția (11128001), am solicitat aceste numere mai târziu Sclav Server. Apoi aplicați CITIȚI BLOCARE la baze de date pentru a exporta toate bazele de date și informații de bază de date master cu mysqldump comanda.
# mysqldump -u root -p --all-databases --master-data> /root/dbdump.db
Odată ce ați eliminat toate bazele de date, conectați-vă din nou la mysql ca tabel de utilizator root și unlcok.
mysql> DEBLOCAȚI MESE; mysql> renunță;
Încărcați fișierul de descărcare a bazei de date pe Sclav Server (192.168.1.2) folosind comanda SCP.
scp /root/dbdump.db [e-mail protejat]:/rădăcină/
Asta este ceea ce am configurat cu succes Maestru server, să trecem la Faza II secțiune.
În Faza II, facem instalarea MySQL, configurare Replicare și apoi verificarea replicării.
Dacă nu aveți MySQL instalat, apoi instalați-l folosind comanda YUM.
# yum instala mysql-server mysql
Deschis my.cnf fișier de configurare cu VI editor.
# vi /etc/my.cnf
Adăugați următoarele intrări sub [mysqld] secțiunea și nu uitați să înlocuiți IP adresa Maestru Server, tecmint cu numele bazei de date etc, cu care doriți să reproduceți Maestru.
server-id = 2. master-host =192.168.1.1 master-connect-retry = 60. master-user =utilizator_sclav master-password =parola Dvs replicate-do-db =tecmint 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
Acum importați fișierul de descărcare pe care l-am exportat în comanda anterioară și reporniți serviciul MySQL.
# mysql -u root -pConectați-vă la MySQL ca utilizator root și opriți fișierul sclav. Atunci spune-i sclav unde să caute Fișier jurnal principal, pe care l-am notat pe master cu AFIȘAȚI STATUL MASTER; comanda ca File (mysql-bin.000003) și poziția (11128001) numere. Trebuie să te schimbi 192.168.1.1 la IP adresa Server principal, și schimbați utilizator și parola în consecinţă.
# mysql -u root -pmysql> slave stop; mysql> CHANGE MASTER TO MASTER_HOST = '192.168.1.1', MASTER_USER ='utilizator_sclav', MASTER_PASSWORD ='parola Dvs', MASTER_LOG_FILE ='mysql-bin.000003', MASTER_LOG_POS =11128001; mysql> start sclav; mysql> arată starea de sclav \ G*************************** 1. rând *************************** Slave_IO_State: Se așteaptă ca maestrul să trimită evenimentul 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: Da Slave_SQL_Running: Da Replicate_Do_DB: tecmint 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: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: Nu Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Cheie: Seconds_Behind_Master: 0. Master_SSL_Verify_Server_Cert: Nu Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 rând în set (0,00 sec)Verificarea replicii MySQL pe serverul Master și Slave
Este foarte important să știm că replicarea funcționează perfect. Pe Maestru serverul creează tabelul și introduceți câteva valori în acesta.
Pe serverul principal
mysql> crea baza de date tecmint; mysql> utilizați tecmint; mysql> CREATE TABLE angajat (c int); mysql> INSERT INTO angajat (c) VALORI (1); mysql> SELECT * FROM angajat;++ | c | ++ | 1 | ++ 1 rând în set (0,00 sec)Pe serverul Slave
Verificarea SCLAV, executând aceeași comandă, va returna aceleași valori și în sclav.
mysql> utilizați tecmint; mysql> SELECT * FROM angajat;++ | c | ++ | 1 | ++ 1 rând în set (0,00 sec)Gata, în cele din urmă ați configurat Replicare MySQL în câțiva pași simpli. Mai multe informații pot fi găsite la Ghid de replicare MySQL.