Appunti veloci senza troppi commenti….

Sul MASTER

skip-innodb
default-storage-engine = MyISAM

Si NON AMO INNODB!

server-id=1

log-bin = mysql-bin
binlog-ignore-db = “mysql”
binlog-ignore-db = “sys”
binlog-ignore-db = “performance_schema”

systemctl restart mysql.service

grant replication slave on . TO ‘slaveuser’@’%’ identified by ‘xxxxxxxxxxxxxxx’;
SE mysql è versione 8
CREATE USER ‘thesalveusername’@’%’ identified by ‘XXXXX’;
grant replication slave on . TO ‘thesalveusername’@’%’;

FLUSH TABLES WITH READ LOCK;

creare i dump dei db e copiarli sulla macchina slave

SHOW MASTER STATUS;
ci darà le informazioni sul nome file di log e sulla posizione da cui far partire la replicazione

UNLOCK TABLES;

Sullo SLAVE

skip-innodb
default-storage-engine = MyISAM

server-id = 2

SLAVE STOP;
CHANGE MASTER TO MASTER_HOST=’192.168.1.54′,
MASTER_PORT=3306,
MASTER_USER=’thesalveusername’,
MASTER_PASSWORD=’ddddddddd’;
START SLAVE;
SHOW SLAVE STATUS\G

on mysql8

STOP SLAVE;
CHANGE MASTER TO MASTER_HOST=’30.31.32.33′,
MASTER_PORT=3306,
MASTER_USER=’thesalveusername’,
MASTER_PASSWORD=’xxxxxxxx’;
START SLAVE;
SHOW SLAVE STATUS\G

CHANGE MASTER TO MASTER_HOST=’30.31.32.33′,
MASTER_PORT=3306,
MASTER_USER=’thesalveusername’,
MASTER_PASSWORD=’dddddddd’, MASTER_LOG_FILE=’mysql-bin.000001′, MASTER_LOG_POS= 155;
START SLAVE;
SHOW SLAVE STATUS\G

Se lo slave non partisse utilizzare nella shell mysql il comando:

slave reset

Se la macchina dovessere essere un clone ricordarsi di eliminare il file /var/lib/mysql/auto.cnf in modo che i server abbiano UUID differente.

Nel caso debba essere necessario modificare l’utente o l’ip dal quale lo slave si connette:

DAL MASTER:

select host,user from mysql.user;
RENAME USER ‘slaveuser’@’9.9.9.9’ TO ‘slaveuser’@’5.5.5.5’;
revoke replication slave on . FROM ‘slaveuser’@’9.9.9.9’;
grant replication slave on . TO ‘slaveuser’@’5.5.5.5’;

se fosse necessario rifare il dump per ripristinare una replica:

mysqldump –routines –triggers –source-data=1 -B —ELENCO DEI DB SEPARATO DA SPAZI— | gzip -1 > /tmp/master-$(date +%Y-%m-%d).sql.gz

e poi sullo slave:

stop slave; (o reset slave;)

poi si importa il dump

e poi start slave;

Lascia un commento