Friday, May 13, 2011

MySQL Replication - To be review

1. Create c:\slave folder
2. Copy my.ini into C:\slave folder
3. Change port=3312 in my.ini
4. Create c:\slave\data folder
5. Copy mysql folder from mysql original data folder (Documents & Settings)

6. run "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld" --install mysqlslave --defaults-file=C:\slave\my.ini

master my.ini

[mysqld]
log-bin=mysql-bin
server-id=1

slave my.ini
[mysqld]
server-id=2

master:
CREATE USER 'repl'@'localhost' IDENTIFIED BY 'slavepass';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'localhost';

FLUSH TABLES WITH READ LOCK;

c:\>mysqldump --port=3306 -uroot -ppassword --all-databases --lock-all-tables > dbdump.db

OR mysqldump --all-databases --master-data > c:/dbdump.db

UNLOCK TABLES;

slave:
mysql --port=3312 -uroot -ppassword < c:/dbdump.db

net start and stop both

Obtaining the Replication Master Binary Log Coordinates
master:

SHOW MASTER STATUS;

*identify binlog file and position


slave:
mysql --port=3311 -uroot -ppassword
show variables like 'port';
show variables like 'hostname';
show variables like 'server_id';
mysql>CHANGE MASTER TO
    ->     MASTER_HOST='localhost',
    ->     MASTER_USER='repl',
    ->     MASTER_PASSWORD='slavepass',
    ->     MASTER_PORT=3306,
    ->     MASTER_LOG_FILE='mysql-bin.000001',
    ->     MASTER_LOG_POS=332;

mysql>start slave

MASTER:


INSERT INTO World.City (Name, CountryCode) VALUES ('Selangor','MY');

SLAVE:
mysql>SELECT ID, Name FROM World.City WHERE name='Selangor';

Both Master & Slave:
Show Processlist;

No comments:

Post a Comment