MySQLマスター---bashスクリプト
11503 ワード
mysqlマスターはホストの予期せぬ損失を回避し、マスターライブラリに問題が発生し、ライブラリからサービスを提供することに迅速に切り替えることができます.ライブラリからクエリー操作を実行し、メインライブラリから更新できます.読み取りと書き込みの分離を実現すると、バックアップ中にプライマリ・ライブラリのサービスに影響を与えないように、ライブラリからバックアップを実行できます.
メイン:
プロファイルの変更:
データベースにログインしてユーザーを許可する
から:
プロファイルの変更:
開始
権限
メイン:
vim master.sh
#!/bin/bash
echo " ( )"
# MySQL
rpm -qa | grep mariadb-server &> /dev/null
if [ $? -eq 0 ];then
echo "mysql
else
echo " MySQL MySQL…… "
echo " "
yum -y install mariadb mariadb-server &> /dev/null
echo " mysql "
fi
プロファイルの変更:
echo " mysql "
sed -i '/server/d' /etc/my.cnf
sed -i '/log-bin/d' /etc/my.cnf
sed -i '1a\log-bin=mysql-bin' /etc/my.cnf
sed -i '2a\server-id=1' /etc/my.conf
echo " , MySQL……"
systemctl start mariadb &> /dev/null
データベースにログインしてユーザーを許可する
a = " grant all on *.* to axiba@'%' identified by '123'"
mysql -u root -e "${a}"
mysql -uroot -e 'show master status' | grep mysql| awk '{print $1}' &> /shell/mysqlzhu.log
mysql -uroot -e 'show master status' | grep mysql| awk '{print $2}' &>> /shell/mysqlzhu.log
echo " !!!"
systemctl iptables stop
setenforce 0
から:
#!/bin/bash
file=`cat /shell/mysqlzhu.log |sed -n '1p'`
pid=`cat /shell/mysqlzhu.log|sed -n '2p'`
#mysql
# mysql
rpm -qa | grep mysql-server &>/dev/null
if [ $? -eq 0 ]
then
echo "mysql "
else
echo "mysql , mysql"
yum -y install mariadb mariadb-server&>/dev/null
echo "mysql "
fi
プロファイルの変更:
echo "## mysql "
sed -i '/relay/d' /etc/my.cnf
sed -i '/server/d' /etc/my.cnf
sed -i '1a\relay-log=mysqlbin' /etc/my.cnf
sed -i '2a\server-id=2' /etc/my.cnf
開始
systemctl start mairiadb
権限
echo "###mysql "
mysql -uroot -e "stop slave"
echo " !"
change="change master to master_user='axiba',master_host='10.30.36.22',master_password='123',master_log_file='"$file"',master_log_pos="$pid"" &>/dev/null
mysql -uroot -e "$axiba" &>/dev/null
echo " !!!"
mysql -uroot -e "start slave"
echo " !!!"
sleep 20
mysql -uroot -e "show slave status \G" | grep Yes|cut -d ":" -f2 > /shell/mysqlcong.log
echo " , yes "
cat /shell/mysqlcong.log
yes=`cat /shell/mysqlcong.log`
b="Yes Yes"
user=" ****@qq.com"
sub="mysql "
con=" !!! "
conc=" "
if [ "$yes"="$b" ]
then
echo "mysql !!!"
/shell/sendemail.sh "$user" "$sub" "$conc" &>/dev/null
else
echo "mysql !!!"
/shell/sendemail.sh "$user" "$sub" "$con" &>/dev/null
fi