-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy_to_master_B.php
More file actions
25 lines (23 loc) · 1.66 KB
/
deploy_to_master_B.php
File metadata and controls
25 lines (23 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/php
<?php
system("ssh root@SECONDARY_MASTER '/etc/init.d/mysql stop'");
system("ssh root@SECONDARY_MASTER 'rm -rfv /var/lib/mysql/*'");
system("innobackupex --stream=tar --host=127.0.0.1 --user=root --password=PASSWORD --slave-info /var/lib/mysql |ssh root@SECONDARY_MASTER \"cd /var/lib/mysql;tar --ignore-zero -xvf -\"");
system("ssh root@SECONDARY_MASTER 'cd /var/lib/mysql;innobackupex --apply-log ./;chown -R mysql:mysql /var/lib/mysql;/etc/init.d/mysql start'");
die;
$binlog = system("ssh root@SECONDARY_MASTER 'cat /var/lib/mysql/xtrabackup_binlog_info'");
$binarr = explode(" ",$binlog);
echo "File: $binarr[0]\nPos: $binarr[1]\n";
system("echo \"CHANGE MASTER TO MASTER_HOST='PRIMARY_MASTER', MASTER_USER='replication', MASTER_PASSWORD='replication', MASTER_PORT=3306, MASTER_LOG_FILE='$binarr[0]', MASTER_LOG_POS=$binarr[1], MASTER_CONNECT_RETRY=10\"|mysql -u root -pPASSWORD -hSECONDARY_MASTER");
system("echo \"start slave\"|mysql -u root -pPASSWORD -hSECONDARY_MASTER");
die;
echo "Stopping Slave on Primary Master\n";
system("echo \"stop slave\"|mysql -u root -pPASSWORD -hPRIMARY_MASTER");
sleep(2);
echo "Resetting slave information on Primary Master\n";
system("echo \"reset slave\"|mysql -u root -pPASSWORD -hPRIMARY_MASTER");
sleep(2);
echo "Setting new replication point on primary master\n";
system("echo \"CHANGE MASTER TO MASTER_HOST='SECONDARY_MASTER', MASTER_USER='replication', MASTER_PASSWORD='replication', MASTER_PORT=3306, MASTER_LOG_FILE='wh-prod-mysql-a.000001', MASTER_LOG_POS=1, MASTER_CONNECT_RETRY=10\"|mysql -u root -pPASSWORD -hPRIMARY_MASTER");
echo "Starting slave server\n";
system("echo \"start slave\"|mysql -u root -pPASSWORD -hPRIMARY_MASTER");