5.6 MySql主從自動切換指令碼
2015.07.17<br />
<br />
<br />
<div id="codeText" class="codeText">
<ol style="margin:0 1px 0 0;padding:5px 0pt;" start="1" class="dp-css none_number">
<li>
<span style="color:#000000;">#<span style="color:#0000CC;">!</span><span style="color:#0000CC;">/</span>bin/bash<br />
</span>
</li>
<li>
cat <span style="color:#0000CC;"><</span><span style="color:#0000CC;"><</span> README<br />
</li>
<li>
#####################################################################################################<br />
</li>
<li>
#Auther <span style="color:#0000CC;">:</span>zhanglin #<br />
</li>
<li>
#Date <span style="color:#0000CC;">:</span> 2015<span style="color:#0000CC;">.</span>07<span style="color:#0000CC;">.</span>17 #<br />
</li>
<li>
#Step 1<span style="color:#0000CC;">:</span> point the slave IP #<br />
</li>
<li>
#Step 2<span style="color:#0000CC;">:</span> check the master <span style="color:#0000FF;">and</span> slave information whether good <span style="color:#0000FF;">for</span> change #<br />
</li>
<li>
#Step 3<span style="color:#0000CC;">:</span> stop old slave<span style="color:#0000CC;">,</span>then get new master binlog <span style="color:#FF0000;">name</span> <span style="color:#0000FF;">and</span> postation<span style="color:#0000CC;">,</span>then execute change master to #<br />
</li>
<li>
#Step 4<span style="color:#0000CC;">:</span> start slave<span style="color:#0000CC;">,</span><span style="color:#0000FF;">and</span> show whether change successed<span style="color:#0000CC;">. </span> #<br />
</li>
<li>
#####################################################################################################<br />
</li>
<li>
README<br />
</li>
<li>
User<span style="color:#0000CC;">=</span>root<br />
</li>
<li>
PW<span style="color:#0000CC;">=</span>123456<br />
</li>
<li>
read <span style="color:#0000CC;">-</span>p <span style="color:#FF00FF;">"-- Please input the slave IP:"</span> Slave<br />
</li>
<li>
Master<span style="color:#0000CC;">=</span><span style="color:#0000CC;">$</span><span style="color:#0000CC;">(</span>mysql <span style="color:#0000CC;">-</span>u${User} <span style="color:#0000CC;">-</span>h${Slave} <span style="color:#0000CC;">-</span>p${PW} <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"show slave status \G;"</span><span style="color:#0000CC;">|</span>awk <span style="color:#FF00FF;">'/Master_Host/{print $2}'</span><span style="color:#0000CC;">)</span><br />
</li>
<li>
<span style="color:#0000FF;">if</span> <span style="color:#0000CC;">[</span> <span style="color:#0000CC;">-</span>n <span style="color:#FF00FF;">"${Master}"</span> <span style="color:#0000CC;">]</span><br />
</li>
<li>
then<br />
</li>
<li>
<span style="color:#0000FF;">echo</span> <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"--Master IP:${Master},Slave IP:${Slave}"</span><br />
</li>
<li>
M<span style="color:#0000CC;">=</span><span style="color:#0000CC;">$</span><span style="color:#0000CC;">(</span>mysql <span style="color:#0000CC;">-</span>u${User} <span style="color:#0000CC;">-</span>h${Master} <span style="color:#0000CC;">-</span>p${PW} <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"show master status;"</span><span style="color:#0000CC;">|</span>awk <span style="color:#FF00FF;">'NR==2{print $2}'</span><span style="color:#0000CC;">)</span><br />
</li>
<li>
S<span style="color:#0000CC;">=</span><span style="color:#0000CC;">$</span><span style="color:#0000CC;">(</span>mysql <span style="color:#0000CC;">-</span>u${User} <span style="color:#0000CC;">-</span>h${Slave} <span style="color:#0000CC;">-</span>p${PW} <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"show slave status \G;"</span><span style="color:#0000CC;">|</span>awk <span style="color:#FF00FF;">'/Read_Master_Log_Pos/{print $2}'</span><span style="color:#0000CC;">)</span><br />
</li>
<li>
<span style="color:#0000FF;">echo</span> <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"-- master pos:${M};slave pos is:${S}"</span><br />
</li>
<li>
<span style="color:#0000FF;">else</span><br />
</li>
<li>
<span style="color:#0000FF;">echo</span> <span style="color:#FF00FF;">"-- Slave IP input wrong,please input again ! "</span><br />
</li>
<li>
exit 1<br />
</li>
<li>
fi<br />
</li>
<li>
<span style="color:#0000FF;">if</span> <span style="color:#0000CC;">[</span> <span style="color:#FF00FF;">"${M}"</span> <span style="color:#0000CC;">-</span><span style="color:#0000FF;">eq</span> <span style="color:#FF00FF;">"${S}"</span> <span style="color:#0000CC;">]</span><br />
</li>
<li>
then<br />
</li>
<li>
read <span style="color:#0000CC;">-</span>p <span style="color:#FF00FF;">"-- Master-Slave is accordance,input Yes to start changing:"</span> var<br />
</li>
<li>
case <span style="color:#FF00FF;">"$var"</span> <span style="color:#0000FF;">in</span><br />
</li>
<li>
<span style="color:#0000CC;">[</span>Yy<span style="color:#0000CC;">]</span><span style="color:#FF0000;">es</span><span style="color:#0000CC;">)</span><br />
</li>
<li>
mysql <span style="color:#0000CC;">-</span>u${User} <span style="color:#0000CC;">-</span>h${Slave} <span style="color:#0000CC;">-</span>p${PW} <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"stop slave;reset slave;change master to master_host='';"</span><br />
</li>
<li>
Pos<span style="color:#0000CC;">=</span><span style="color:#0000CC;">$</span><span style="color:#0000CC;">(</span>mysql <span style="color:#0000CC;">-</span>u${User} <span style="color:#0000CC;">-</span>h${Slave} <span style="color:#0000CC;">-</span>p${PW} <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"show master status;"</span><span style="color:#0000CC;">|</span>awk <span style="color:#FF00FF;">'NR==2{print $2}'</span><span style="color:#0000CC;">)</span><br />
</li>
<li>
File<span style="color:#0000CC;">=</span><span style="color:#0000CC;">$</span><span style="color:#0000CC;">(</span>mysql <span style="color:#0000CC;">-</span>u${User} <span style="color:#0000CC;">-</span>h${Slave} <span style="color:#0000CC;">-</span>p${PW} <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"show master status;"</span><span style="color:#0000CC;">|</span>awk <span style="color:#FF00FF;">'NR==2{print $1}'</span><span style="color:#0000CC;">)</span><br />
</li>
<li>
mysql <span style="color:#0000CC;">-</span>u${User} <span style="color:#0000CC;">-</span>h${Master} <span style="color:#0000CC;">-</span>p${PW} <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"stop slave;<br />
</span>
</li>
<li>
change master to master_user='ideal',master_host='${Slave}',master_password='123456',master_log_file='${File}',master_log_pos=${Pos};<br />
</li>
<li>
start slave;"<br />
</li>
<li>
<span style="color:#0000CC;">;</span><span style="color:#0000CC;">;</span><br />
</li>
<li>
<span style="color:#0000CC;">*</span><span style="color:#0000CC;">)</span><br />
</li>
<li>
<span style="color:#0000FF;">echo</span> <span style="color:#FF00FF;">"-- error input .... exit!"</span><br />
</li>
<li>
<span style="color:#0000CC;">;</span><span style="color:#0000CC;">;</span><br />
</li>
<li>
esac<br />
</li>
<li>
<span style="color:#0000FF;">echo</span> <span style="color:#FF00FF;">"-- changing, please wait 3s...."</span><br />
</li>
<li>
<span style="color:#FF0000;">sleep</span> 3<br />
</li>
<li>
<span style="color:#0000FF;">echo</span> <span style="color:#FF00FF;">"-- change successfull,the new master is:${Slave},new slave is ${Master}"</span><br />
</li>
<li>
SlaveIOStatus<span style="color:#0000CC;">=</span><span style="color:#0000CC;">$</span><span style="color:#0000CC;">(</span>mysql <span style="color:#0000CC;">-</span>u${User} <span style="color:#0000CC;">-</span>h${Master} <span style="color:#0000CC;">-</span>p${PW} <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"show slave status \G;"</span><span style="color:#0000CC;">|</span>awk <span style="color:#FF00FF;">'/Slave_IO_Running/{print $2}'</span><span style="color:#0000CC;">)</span><br />
</li>
<li>
SlaveSQLStatus<span style="color:#0000CC;">=</span><span style="color:#0000CC;">$</span><span style="color:#0000CC;">(</span>mysql <span style="color:#0000CC;">-</span>u${User} <span style="color:#0000CC;">-</span>h${Master} <span style="color:#0000CC;">-</span>p${PW} <span style="color:#0000CC;">-</span>e <span style="color:#FF00FF;">"show slave status \G;"</span><span style="color:#0000CC;">|</span>awk <span style="color:#FF00FF;">'/Slave_SQL_Running/{print $2}'</span><span style="color:#0000CC;">)</span><br />
</li>
<li>
printf <span style="color:#FF00FF;">"The new master is: \n Slave_IO_Running=${SlaveIOStatus}\n"</span><br />
</li>
<li>
printf <span style="color:#FF00FF;">"Slave_SQL_Running=${SlaveSQLStatus}\n"</span><br />
</li>
<li>
<span style="color:#0000FF;">else</span><br />
</li>
<li>
<span style="color:#0000FF;">echo</span> <span style="color:#FF00FF;">"node change failed please change again ! "</span><br />
</li>
<li>
exit 1<br />
</li>
<li>
fi
</li>
</ol>
</div>
<br />
<br />
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30936525/viewspace-2016545/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MYSQL5.6主從+keepalive高可用自動切換MySql
- postgresql10主從+keepalived高可用自動切換(切換關鍵在指令碼)SQL指令碼
- Mysql 5.6 Master和Slave 主備切換MySqlAST
- 手工切換MySQL主從MySql
- Oracle ADG 自動切換指令碼分享Oracle指令碼
- ostgreSQL主從切換-手動SQL
- Dledger是如何實現主從自動切換的
- MySQL Orchestrator自動導換+VIP切換MySql
- Redis主從切換Redis
- 可自動切換 learnku 夜間 / 白天模式的 python 指令碼模式Python指令碼
- MySQL 主從切換延時高問題分析MySql
- MHA實現mysql主從資料庫手動切換的方法MySql資料庫
- 一個月後,我們又從 MySQL 雙主切換成了主 - 從!MySql
- Redis sentinel主從切換Redis
- mysql 5.7+keepalived主從切換步驟簡述MySql
- keepalived配置redis主從切換Redis
- Mysql5.6 自動化部署MySql
- Shell指令碼監控MySQL主從狀態指令碼MySql
- StoneDB 主從切換實踐方案
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- echarts 主題動態切換Echarts
- 實現自動切換主題的 VSCode 擴充套件VSCode套件
- MySQL8.0的自動部署指令碼MySql指令碼
- MySQL雙機互備熱備自動切換KVMySql
- MySQL自動備份指令碼30天自動刪除MySql指令碼
- Redis叢集的主從切換研究Redis
- oracle 11g datagurd主從切換Oracle
- REDIS主從頻繁切換事件排查Redis事件
- Mongodb資料同步和主從切換MongoDB
- 生產環境中mysql資料庫由主從關係切換為主主關係MySql資料庫
- vue 構建環境切換指令碼Vue指令碼
- MySQL 5.7傳統複製到GTID線上切換(一主一從)MySql
- 【MySQL(二十二)】一主一從換主MySql
- Mysql MHA部署-06手動切換MySql
- (九)主題切換
- 實現MySQL表結構自動分割槽指令碼MySql指令碼
- MySQL 5.6大查詢和大事務監控指令碼(Python 2)MySql指令碼Python
- mysql主備切換canal出現的問題解析MySql
- mysql5.6主主複製及keepalived 高可用MySql