Jump to content

Master Slave on Mysql for Muthoot CRM

From TetraWiki
Revision as of 08:54, 22 March 2014 by Biswajit (talk | contribs) (Created page with "Category:Tetra Clients category: Muthoot Group ==Master Slave of Mysql for Muthoot CRM Application== ==Requirement == CRM Reports to be shifted to a Read only -...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)



Master Slave of Mysql for Muthoot CRM Application

Requirement

CRM Reports to be shifted to a Read only - Replicated database for enhancing the Mysql Performance and avoiding performance bottlenecks on live Server .

Details

Master Server - CRM Pilot Server ( 182.71.4.23 / 192.168.0.

Slave Server - CRM Pilot Server ( 182.71.4.20 / 192.168.0.


Data bases to be Replicated are

crmmuth_db_pilotlive        
crmmuth_erp_pilotlive       
crmmuth_finance_pilotlive   
crmmuth_muthoothr_pilotlive 

Configurations

Added in /etc/my.cnf ( Master )

server-id = 1
log-bin = mysql-bin
binlog-do-db = crmmuth_db_pilotlive
binlog-do-db = crmmuth_erp_pilotlive
binlog-do-db = crmmuth_finance_pilotlive
binlog-do-db = crmmuth_muthoothr_pilotlive

on Master create replication user

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'tetra321'; 
mysql>FLUSH PRIVILEGES;
mysql>FLUSH TABLES WITH READ LOCK;
mysql>UNLOCK TABLES;

Restart Mysql on master


On Slave

Added in /etc/my.cnf ( Slave )

server-id = 2
replicate-do-db = crmmuth_db_pilotlive
replicate-do-db = crmmuth_erp_pilotlive
replicate-do-db = crmmuth_finance_pilotlive
replicate-do-db = crmmuth_muthoothr_pilotlive

Restart Mysql on Slave


At master note the details of file and posiion

mysql> show master status; +------------------+----------+--------------------------------------------------------------------------------------------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------------------------------------------------------------------------------------------+------------------+ | mysql-bin.000001 | 106 | crmmuth_db_pilotlive,crmmuth_erp_pilotlive,crmmuth_finance_pilotlive,crmmuth_muthoothr_pilotlive | | +------------------+----------+--------------------------------------------------------------------------------------------------+------------------+

On master take the mysql dump of the mentioned databases

mysqldump -u root -p --databases crmmuth_db_pilotlive crmmuth_erp_pilotlive crmmuth_finance_pilotlive crmmuth_muthoothr_pilotlive > dump_4_db_for_slave.sql


On Slave , import the databases;

mysql -p < dump_4_db_for_slave.sql

Once Done

mysql>SLAVE STOP;
mysql>CHANGE MASTER TO MASTER_HOST='192.168.1.152', MASTER_USER='repl', MASTER_PASSWORD='tetra321', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=106;
mysql>START SLAVE;
mysql>SHOW SLAVE STATUS\G; 

Error if any

Incase you get error on SHOW SLAVE STATUS\G

mysql>stop slave ; SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; SLAVE START;