Bevezetés
Állítsa be a fő csomópontot
Állítsa be a slave csomópontot
Bevezetés
Ha kritikus webhelyet futtat, fontos, hogy legyen legalább egy redundáns biztonsági mentési szervere. Ez biztosítja, hogy az adatbázis valós időben szinkronizáljon. A MySQL az adatbázis-szinkronizálást replikációnak nevezi. Ez a rövid oktatóanyag a master-slave MySQL-replikáció beállításához nyújt útmutatást.
Állítsa be a fő csomópontot
Szerkessze /etc/mysql/my.cnfaz IP-kötés letiltásához.
Írd kommentbe a következő sorokat:
bind-address = 127.0.0.1
skip-networking
Hozzon létre új beállításokat a replikációhoz a következő parancsok futtatásával:
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
Indítsa újra a MySQL szervert.
/etc/init.d/mysql restart
Hozzon létre egy szolga felhasználót a MySQL-ben a következő parancsok futtatásával a MySQL-konzolon.
CREATE USER 'slave'@'SLAVE_SERVER_IP_ADDRESS' identified by 'YOUR_SLAVE_PASSWORD';
GRANT ALL ON *.* TO 'slave'@'SLAVE_SERVER_IP_ADDRESS';
FLUSH PRIVILEGES;
Most zárolja az adatbázishoz való írási hozzáférést:
FLUSH TABLES WITH READ LOCK;
Főcsomópont állapotának lekérése:
SHOW MASTER STATUS;
Megjegyzés: Jegyezze fel a "Fájl" és a "Pozíció" mezők értékeit, mivel később hivatkoznunk kell rájuk a szolga csomópontnál.
Nyisson meg egy másik SSH-munkamenetet, és írja ki az adatbázist a következő paranccsal:
mysqldump -u MYSQL_USERNAME -pMYSQL_PASSWORD --databases YOUR_DATABASE_ONE YOUR_DATABASE_TWO > database.sql
Térjen vissza az előző SSH-munkamenethez, és adja ki a következő parancsot a MySQL-konzolon az írási hozzáférés feloldásához:
UNLOCK TABLES;
Az database.sqlelőző lépésben létrehozott elemek átvitele a slave csomópontra.
Állítsa be a slave csomópontot
Szerkessze /etc/mysql/my.cnfaz IP-kötés letiltásához.
Írd kommentbe a következő sorokat:
bind-address = 127.0.0.1
skip-networking
Hozzon létre új beállításokat a replikációhoz a következő parancs futtatásával:
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
Indítsa újra a MySQL szervert.
/etc/init.d/mysql restart
A database.sqlfőcsomópontból most létrehozott importálás a következő paranccsal:
mysql -u MYSQL_USERNAME-pMYSQL-PASSWORD < database.sql
Most kezdjük el a replikációt. Nyissa meg a MySQL konzolt, futtassa a következő parancsokat:
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;
Megjegyzés: A MASTER_LOG_FILEés MASTER_LOG_POSa "Fájl" és a "Pozíció" értéke , amelyet a fő csomópont beállításából írtunk le.