MySql master to master replication

Server 1: /etc/my.sql
#replication server-id=1 log-bin=mysql-bin
#information for becoming slave. master-host = master-user = replication master-password = slave master-port = 3306

Server 2: /etc/my.sql
#replication server-id=2 log-bin=mysql-bin
#information for becoming slave. master-host = master-user = replication master-password = slave master-port = 3306

Restart /etc/init.d/mysql restart on both servers.

Then run the following SQL on… server 1:
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST=’10.253.15.15′,MASTER_USER=’replication’,MASTER_PASSWORD=’slave’;
START SLAVE;
GRANT ALL PRIVILEGES ON *.* TO ‘replication’@” identified by ’slave’;

server 2:
CHANGE MASTER TO MASTER_HOST=’10.253.65.221′,MASTER_USER=’replication’,MASTER_PASSWORD=’slave’;
STOP SLAVE;
START SLAVE;
GRANT ALL PRIVILEGES ON *.* TO ‘replication’@” identified by ’slave’;

Later you can check master and slave statuses:
show slave status\G;
show master status\G;

Out of sync – Last time helped:

On master (who was sync or who has real live data):

mysql> SHOW MASTER STATUS;

Output should be somethink like that:

+——————+————————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+————————–+——————+
| mysql-bin.000001 | 3400 | | mysql |
+——————+————————–+——————+
1 row in set (0.00 sec)

Write down the filename and log position for use on the original Master server.

In mysql  who is out of sync:

mysql> stop slave;

mysql> CHANGE MASTER TO MASTER_LOG_FILE=’[File written down]‘, MASTER_LOG_POS=[position];
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G