Uvod
Postavite glavni čvor
Postavite slave čvor
Uvod
Kada koristite kritičnu web stranicu, važno je osigurati da imate barem jedan redundantni poslužitelj za sigurnosnu kopiju. To osigurava da se vaša baza podataka sinkronizira u stvarnom vremenu. MySQL označava sinkronizaciju baze podataka kao replikaciju. Ovaj kratki vodič pruža upute o tome kako postaviti master-slave MySQL replikaciju.
Postavite glavni čvor
Uredite /etc/mysql/my.cnfda biste onemogućili IP vezanje.
Komentirajte sljedeće retke:
bind-address = 127.0.0.1
skip-networking
Izradite nove postavke za replikaciju pokretanjem sljedećih naredbi:
cat >/etc/mysql/conf.d/replication.cnf <<EOF
[mysqld]
server-id = 100
log_bin = /var/log/mysql/mysql-bin.log
binlog-do-db = YOUR_DATABASE_ONE
binlog-do-db = YOUR_DATABASE_TWO
EOF
Ponovno pokrenite MySQL poslužitelj.
/etc/init.d/mysql restart
Stvorite podređenog korisnika u MySQL-u pokretanjem sljedećih naredbi u MySQL konzoli.
CREATE USER 'slave'@'SLAVE_SERVER_IP_ADDRESS' identified by 'YOUR_SLAVE_PASSWORD';
GRANT ALL ON *.* TO 'slave'@'SLAVE_SERVER_IP_ADDRESS';
FLUSH PRIVILEGES;
Sada zaključajte pristup pisanju vašoj bazi podataka:
FLUSH TABLES WITH READ LOCK;
Dobijte status glavnog čvora:
SHOW MASTER STATUS;
Napomena: Zapišite vrijednosti polja "Datoteka" i "Pozicija" jer ćemo ih kasnije morati referencirati za podređeni čvor.
Otvorite drugu SSH sesiju i izbacite svoju bazu podataka pomoću sljedeće naredbe:
mysqldump -u MYSQL_USERNAME -pMYSQL_PASSWORD --databases YOUR_DATABASE_ONE YOUR_DATABASE_TWO > database.sql
Vratite se na prethodnu SSH sesiju i izdajte sljedeću naredbu u MySQL konzoli za otključavanje pristupa za pisanje:
UNLOCK TABLES;
Prenesite database.sqlstvoreno u prethodnom koraku na slave čvor.
Postavite slave čvor
Uredite /etc/mysql/my.cnfda biste onemogućili IP vezanje.
Komentirajte sljedeće retke:
bind-address = 127.0.0.1
skip-networking
Napravite nove postavke za replikaciju pokretanjem sljedeće naredbe:
cat >/etc/mysql/conf.d/replication.cnf <<EOF
[mysqld]
server-id = 101
log_bin = /var/log/mysql/mysql-bin.log
binlog-do-db = YOUR_DATABASE_ONE
binlog-do-db = YOUR_DATABASE_TWO
EOF
Ponovno pokrenite MySQL poslužitelj.
/etc/init.d/mysql restart
Uvoz database.sqlkreiran iz glavnog čvora upravo sada pomoću ove naredbe:
mysql -u MYSQL_USERNAME-pMYSQL-PASSWORD < database.sql
Sada, krenimo s replikacijom. Otvorite MySQL konzolu, pokrenite sljedeće naredbe:
SLAVE STOP;
CHANGE MASTER TO MASTER_HOST='MASTER_SERVER_IP_ADDRESS', MASTER_USER='slave', MASTER_PASSWORD='YOUR_SLAVE_PASSWORD', MASTER_LOG_FILE='FILE_VALUE_FROM_MASTER', MASTER_LOG_POS=POSITION_VALUE_FROM_MASTER;
SLAVE START;
Napomena: Vrijednost za MASTER_LOG_FILEi MASTER_LOG_POSje "Datoteka" i "Pozicija" koje smo zapisali iz podešavanja glavnog čvora.