Introducció
Configura el node mestre
Configura el node esclau
Introducció
Quan utilitzeu un lloc web crític, és important assegurar-vos que teniu almenys un servidor de còpia de seguretat redundant. Això garanteix que la vostra base de dades es sincronitzi en temps real. MySQL fa referència a la sincronització de bases de dades com a rèplica. Aquest breu tutorial proporciona instruccions sobre com configurar una rèplica MySQL mestre-esclau.
Configura el node mestre
Edita /etc/mysql/my.cnfper desactivar l'enllaç IP.
Comenta les línies següents:
bind-address = 127.0.0.1
skip-networking
Creeu nous paràmetres per a la rèplica executant les ordres següents:
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
Reinicieu el servidor MySQL.
/etc/init.d/mysql restart
Creeu un usuari esclau a MySQL executant les ordres següents a la consola de MySQL.
CREATE USER 'slave'@'SLAVE_SERVER_IP_ADDRESS' identified by 'YOUR_SLAVE_PASSWORD';
GRANT ALL ON *.* TO 'slave'@'SLAVE_SERVER_IP_ADDRESS';
FLUSH PRIVILEGES;
Ara, bloquegeu l'accés d'escriptura a la vostra base de dades:
FLUSH TABLES WITH READ LOCK;
Obteniu l'estat del node mestre:
SHOW MASTER STATUS;
Nota: Anoteu els valors dels camps "Fitxer" i "Posició", ja que els haurem de fer referència més endavant per al node esclau.
Obriu una altra sessió SSH i aboqueu la vostra base de dades mitjançant l'ordre següent:
mysqldump -u MYSQL_USERNAME -pMYSQL_PASSWORD --databases YOUR_DATABASE_ONE YOUR_DATABASE_TWO > database.sql
Torna a la sessió SSH anterior i emet l'ordre següent a la consola MySQL per desbloquejar l'accés d'escriptura:
UNLOCK TABLES;
Transferiu el database.sqlcreat al pas anterior al node esclau.
Configura el node esclau
Edita /etc/mysql/my.cnfper desactivar l'enllaç IP.
Comenta les línies següents:
bind-address = 127.0.0.1
skip-networking
Creeu nous paràmetres per a la rèplica executant l'ordre següent:
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
Reinicieu el servidor MySQL.
/etc/init.d/mysql restart
Importeu database.sqlcreat des del node mestre ara mateix utilitzant aquesta ordre:
mysql -u MYSQL_USERNAME-pMYSQL-PASSWORD < database.sql
Ara, comencem la replicació. Obriu la consola MySQL, executeu les ordres següents:
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;
Nota: el valor de MASTER_LOG_FILEi MASTER_LOG_POSés "Fitxer" i "Posició" que hem anotat des de la configuració del node mestre.