SCRIPT mysql_MM.sh
#/bin/bash
# PRIMO SERVER
MM1=10.10.216.167
USER1=topolino
PASSWORD1=topolino
userDB="root"
pwdDB="toor"
# SECONDO SERVER
MM2=
10.10.216.168
USER2=paperino
PASSWORD2=paperino
userDB2="root"
pwdDB2="toor"
echo "SHOW MASTER STATUS;" > showmaster.sql
# CONFIGURAZIONE SERVER 15.1.1.1
filebin=`mysql -h $MM2 -u $userDB2 -p$pwdDB2 <showmaster.sql |grep -i mysql-bin|awk '{print $1}'`
position=`mysql -h $MM2 -u $userDB2 -p$pwdDB2 <showmaster.sql |grep -i mysql-bin|awk '{print $2}'`
cat > MMmysql.sql << DT
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='$MM2', MASTER_USER='$USER1', MASTER_PASSWORD='$PASSWORD1', MASTER_LOG_FILE='$filebin', MASTER_LOG_POS=$position;
START SLAVE;
DT
mysql -h $MM1 -u $userDB -p$pwdDB <MMmysql.sql
# CONFIGURAZIONE SERVER 15.1.1.3
filebin2=`mysql -h $MM1 -u $userDB -p$pwdDB <showmaster.sql|grep -i mysql-bin|awk '{print $1}'`
position2=`mysql -h $MM1 -u $userDB -p$pwdDB <showmaster.sql |grep -i mysql-bin|awk '{print $2}'`
cat > MMmysql2.sql << DT
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='$MM1', MASTER_USER='$USER1', MASTER_PASSWORD='$PASSWORD2', MASTER_LOG_FILE='$filebin2', MASTER_LOG_POS=$position2;
START SLAVE;
DT
mysql -h $MM2 -u $userDB2 -p$pwdDB2 <MMmysql2.sql
sleep 2
echo "SHOW SLAVE STATUS\G;" > showSlave.sql
date > mysqlMM.log
echo "CMD MYSQL PER $MM1">>mysqlMM.log
cat MMmysql.sql >> mysqlMM.log
echo "CMD MYSQL PER $MM2" >> mysqlMM.log
cat MMmysql2.sql >> mysqlMM.log
echo "" >> mysqlMM.log
mysql -h $MM2 -u $userDB2 -p$pwdDB2 <showSlave.sql>> mysqlMM.log
mysql -h $MM1 -u $userDB -p$pwdDB <showSlave.sql>> mysqlMM.log
rm showmaster.sql
rm MMmysql.sql
rm MMmysql2.sql
rm showSlave.sql
Su uno dei due server ho invce inserito nel crontab uno script bash che mi pubblica una pagina web con lo stato dei due server mysql multimaster (sempre che siano raggiugnibili!)
root@elsamu-zm:/home/domenico/Script# cat mysqlHTML.sh
#!/bin/bash
date > /var/www/mysql.html
echo "<br>" >> /var/www/mysql.html
fortune >> /var/www/mysql.html
echo "<br>" >> /var/www/mysql.html
echo " 15.1.1.1" >> /var/www/mysql.html
mysql -h 15.1.1.1 -u root -ptoor --html </home/domenico/Script/mysql_status.sql >> /var/www/mysql.html
echo " 15.1.1.3" >> /var/www/mysql.html
mysql -h 15.1.1.3 -u root -ptoor --html </home/domenico/Script/mysql_status.sql >> /var/www/mysql.html
E questo è lo script sql che contiene i 3 comandi utili per vedere lo stato dei multimaster
root@elsamu-zm:/home/domenico/Script# cat mysql_status.sql
SHOW MASTER STATUS;
SHOW PROCESSLIST;
SHOW SLAVE STATUS\G;
root@elsamu-zm:/home/domenico/Script#
0 commenti:
Posta un commento