Just notes for myself on adding more MySQL databases without shutting down the master database.
on existing slave:
/etc/init.d/mysqld stop
copy data dir from /var/lib/mysql and data from /var/run/mysqld to new slave database:
cd /var/lib
tar cvf Mysql_slave.tar mysql/*
scp Mysql_slave.tar root@new-db.com:/var/lib/.
cd /var/run
tar cvf Mysqld_slave.tar mysqld/*
scp Mysqld_slave.tar mysqld/*
scp Mysqld_slave.tar root@new-db.com:/var/run/.
tar cvf Mysql_slave.tar mysql/*
scp Mysql_slave.tar root@new-db.com:/var/lib/.
cd /var/run
tar cvf Mysqld_slave.tar mysqld/*
scp Mysqld_slave.tar mysqld/*
scp Mysqld_slave.tar root@new-db.com:/var/run/.
copy /etc/my.cnf from old slave to new slave
add entry for new server-id
start existing slave:
cd /var/lib
tar xvf Mysql_slave.tar
cd /var/run
tar xvf Mysqld_slave.tar
/etc/init.d/mysqld start
tar xvf Mysql_slave.tar
cd /var/run
tar xvf Mysqld_slave.tar
/etc/init.d/mysqld start
start new slave:
/etc/init.d/mysqld start
mysql
start slave;
mysql
start slave;
on masterdb:
e.g.:
grant replication slave on *.* to ‘repl’@’192.168.107.33’ identified by ‘password’;
test on master:
create database repl;
check on slave:
show databases; /* should show new database */
test on master:
drop database repl;
check on slave:
show databases; /* new database should be dropped */
Now it’s time to turn this into an automated shell script with Expect in there.
Leave a Reply