doc:appunti:linux:sa:mysql_replica_master_master
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:appunti:linux:sa:mysql_replica_master_master [2011/09/08 12:50] – [MySQL replica master-master] niccolo | doc:appunti:linux:sa:mysql_replica_master_master [2019/09/30 09:51] (current) – [Configurare la replica master-master] niccolo | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== MySQL replica master-master ====== | ====== MySQL replica master-master ====== | ||
- | | + | Riferimenti web: |
- | * [[http:// | + | |
+ | * **[[http:// | ||
+ | | ||
+ | |||
+ | ===== Configurare la replica master-master ===== | ||
+ | |||
+ | Con questa configurazione si tiene replicato **un solo database**. | ||
+ | |||
+ | < | ||
+ | -- Su server1 | ||
+ | GRANT REPLICATION SLAVE ON *.* TO ' | ||
+ | FLUSH PRIVILEGES; | ||
+ | |||
+ | CREATE DATABASE exampledb; | ||
+ | CONNECT exampledb; | ||
+ | |||
+ | CREATE TABLE clienti ( | ||
+ | id INTEGER NOT NULL AUTO_INCREMENT, | ||
+ | name CHAR(100), | ||
+ | PRIMARY KEY (id) | ||
+ | ) ENGINE=INNODB; | ||
+ | |||
+ | CREATE TABLE fatture ( | ||
+ | id INTEGER NOT NULL AUTO_INCREMENT, | ||
+ | cliente_id INTEGER, | ||
+ | PRIMARY KEY (id), | ||
+ | FOREIGN KEY (cliente_id) REFERENCES clienti(id) | ||
+ | ) ENGINE=INNODB; | ||
+ | |||
+ | SHOW TABLE STATUS; | ||
+ | |||
+ | INSERT INTO clienti (name) VALUES (' | ||
+ | INSERT INTO fatture (cliente_id) VALUES (1); | ||
+ | DELETE FROM clienti; | ||
+ | |||
+ | vi / | ||
+ | # Vedere la man page di my.cnf, che non esiste. | ||
+ | / | ||
+ | |||
+ | -- Su server2 | ||
+ | GRANT REPLICATION SLAVE ON *.* TO ' | ||
+ | FLUSH PRIVILEGES; | ||
+ | |||
+ | vi / | ||
+ | # Vedere la man page di my.cnf, che non esiste. | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Per vedere se si sono assegnati i permessi di replica: | ||
+ | |||
+ | < | ||
+ | SHOW GRANTS FOR ' | ||
+ | </ | ||
+ | |||
+ | Ovviamente è opportuno concedere i grant non dall' | ||
+ | ===== Sincronizzare il db ===== | ||
+ | |||
+ | < | ||
+ | -- Su server1 | ||
+ | USE exampledb; | ||
+ | FLUSH TABLES WITH READ LOCK; | ||
+ | SHOW MASTER STATUS; | ||
+ | -- Prendere nota dello status. | ||
+ | -- Fare un dump e copiarlo sull' | ||
+ | UNLOCK TABLES; | ||
+ | |||
+ | -- Su server2 | ||
+ | -- mysqladmin --user=root --password stop-slave | ||
+ | CREATE DATABASE exampledb; | ||
+ | -- mysql -u root -p exampledb < exampledb.sql | ||
+ | USE exampledb; | ||
+ | FLUSH TABLES WITH READ LOCK; | ||
+ | SHOW MASTER STATUS; | ||
+ | -- Prendere nota dello status. | ||
+ | UNLOCK TABLES; | ||
+ | CHANGE MASTER TO MASTER_HOST=' | ||
+ | MASTER_PASSWORD=' | ||
+ | MASTER_LOG_POS=106; | ||
+ | START SLAVE; | ||
+ | SHOW SLAVE STATUS; | ||
+ | |||
+ | -- Su server1 | ||
+ | STOP SLAVE; | ||
+ | CHANGE MASTER TO MASTER_HOST=' | ||
+ | MASTER_PASSWORD=' | ||
+ | MASTER_LOG_POS=2359; | ||
+ | START SLAVE; | ||
+ | SHOW SLAVE STATUS; | ||
+ | </ | ||
===== Crash test ===== | ===== Crash test ===== | ||
doc/appunti/linux/sa/mysql_replica_master_master.1315479029.txt.gz · Last modified: 2011/09/08 12:50 by niccolo