Följande handledning syftar till att ge dig en enkel steg-för-steg-guide för installation MySQL (Mästarslav) Replikering i RHEL 6.3/6.2/6.1/6/5.8, CentOS 6.3/6.2/6.1/6/5.8 och Fedora 17,16,15,14,13,12 med det senaste MySQL version. Den här guiden är speciellt skriven för CentOS 6.3 Operativsystem, men fungerar också med äldre version av Linux distributioner med MySQL 5.x.
UPPDATERING: Om du letar efter MariaDB Master-Slave Replication under CentOS/RHEL 7 och Debian 8 och dess derivat som Ubuntu, följ den här guiden Konfigurera MariaDB Master-Slave Replication.
De MySQL -replikering är mycket användbart när det gäller Datasäkerhet, Fail-over-lösning, Säkerhetskopiering av databas från slav, Analytics etc. Vi använder följande saker för att genomföra replikeringsprocessen. I ditt scenario skulle det vara annorlunda.
Vi har två servrar, en är Bemästra med IP (192.168.1.1) och andra är Slav som (192.168.1.2). Vi har delat upp installationsprocessen i två faser för att göra det enklare för dig, In Fas I vi kommer att konfigurera Bemästra server och in Fas II med Slav server. Låt oss starta replikeringsinstallationsprocessen.
I Fas I, kommer vi att se installationen av MySQL, inställning Replikering och sedan verifiera replikering.
Fortsätt först med MySQL installation med YUM kommando. Om du redan har MySQL -installation kan du hoppa över det här steget.
# yum installera mysql-server mysql
Öppen min.cnf konfigurationsfil med VI redaktör.
# vi /etc/my.cnf
Lägg till följande poster under [mysqld] avsnitt och glöm inte att byta tecmint med databasnamn som du vill replikera på Slav.
server-id = 1. binlog-do-db =tecmint relay-log =/var/lib/mysql/mysql-relay-bin. relä-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. relä-log-info-fil = /var/lib/mysql/mysql-relay-log.info. log-bin =/var/lib/mysql/mysql-bin
Starta om MySQL service.
# /etc/init.d/mysqld starta om
Logga in på MySQL som rot användare och skapa slavanvändare och bevilja privilegier för replikering. Byta ut slave_user med användare och ditt lösenord med lösenord.
# mysql -u root -p
mysql> GRANT REPLICATION SLAVE ON *. * TO 'slave_user'@'%'IDENTIFIERAD AV'ditt lösenord'; mysql> FLUSH PRIVILEGES; mysql> FLUSH TABLES MED LÄS LÅS; mysql> VISA MASTERSTATUS; +++++ | Fil | Position | Binlog_Do_DB | Binlog_Ignore_DB | +++++ |mysql-bin.000003 | 11128001| tecmint | | +++++ 1 rad i uppsättning (0,00 sek) mysql> avsluta;
Skriv ner filen (mysql-bin.000003) och position (11128001), krävde vi dessa nummer senare Slav server. Ansök sedan LÄS LÅS till databaser för att exportera all databas och masterdatabasinformation med mysqldump kommando.
# mysqldump -u root -p --all -databaser --master -data> /root/dbdump.db
När du har dumpat alla databaser ansluter du igen till mysql som root -användare och unlcok -tabeller.
mysql> LÅS UPP TABELLER; mysql> sluta;
Ladda upp databasdumpfilen Slav Server (192.168.1.2) med SCP -kommando.
scp /root/dbdump.db [e -postskyddad]:/rot/
Det är det vi har konfigurerat framgångsrikt Bemästra server, låt oss gå vidare till Fas II sektion.
I Fas II, vi gör installationen av MySQL, inställning Replikering och sedan verifiera replikering.
Om du inte har MySQL installerat, installera det sedan med kommandot YUM.
# yum installera mysql-server mysql
Öppen min.cnf konfigurationsfil med VI redaktör.
# vi /etc/my.cnf
Lägg till följande poster under [mysqld] avsnitt och glöm inte att byta IP adressen till Bemästra server, tecmint med databasnamn etc, som du vill replikera med Bemästra.
server-id = 2. master-host =192.168.1.1 master-connect-retry = 60. master-user =slave_user master-password =ditt lösenord replikera-gör-db =tecmint relay-log =/var/lib/mysql/mysql-relay-bin. relä-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. relä-log-info-fil = /var/lib/mysql/mysql-relay-log.info. log-bin =/var/lib/mysql/mysql-bin
Importera nu dumpfilen som vi exporterade i tidigare kommando och starta om MySQL -tjänsten.
# mysql -u root -pLogga in på MySQL som root -användare och stoppa slav. Berätta sedan för slav till var man ska leta Huvudloggfil, som vi har skrivit ner på master med VISA MASTERSTATUS; kommando som fil (mysql-bin.000003) och position (11128001) tal. Du måste ändra dig 192.168.1.1 till IP adressen till Master Serveroch ändra användare och Lösenord följaktligen.
# mysql -u root -pmysql> slavstopp; mysql> ÄNDRA MASTER TILL MASTER_HOST = '192.168.1.1', MASTER_USER ='slave_user', MASTER_PASSWORD ='ditt lösenord', MASTER_LOG_FILE ='mysql-bin.000003', MASTER_LOG_POS =11128001; mysql> slavstart; mysql> visa slavstatus \ G*************************** 1. rad *************************** Slave_IO_State: Väntar på att master ska skicka händelse 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: Yes Slave_SQL_Running: Yes 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 Till_Condition: Ingen Till_Log_Fil: Till_Log_Pos: 0 Master_SSL_Allowed: No 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: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 rad i uppsättningen (0,00 sek)Verifierar MySQL -replikering på Master- och Slave -server
Det är verkligen mycket viktigt att veta att replikeringen fungerar perfekt. På Bemästra server skapa tabell och infoga några värden i den.
På Master Server
mysql> skapa databas tecmint; mysql> använd tecmint; mysql> SKAPA TABELL medarbetare (c int); mysql> INSERT INTO anställd (c) VÄRDEN (1); mysql> VÄLJ * FRÅN anställd;++ | c | ++ | 1 | ++ 1 rad i set (0,00 sek)På slavserver
Verifierar SLAV, genom att köra samma kommando, returnerar det samma värden i slaven också.
mysql> använd tecmint; mysql> VÄLJ * FRÅN anställd;++ | c | ++ | 1 | ++ 1 rad i set (0,00 sek)Det är det, äntligen har du konfigurerat MySQL -replikering i några enkla steg. Mer information finns på MySQL -replikeringsguide.