TDSQL(MySQL版)之DB元件升級
隨著資料庫產品的更新迭代,修復bug等等,產品避免不了會出現升級的需求。TDSQL(MysqL版)也會有這方面的需求。接下來我就說說如何對現有TDSQL(MySQL版)叢集元件進行升級,而不影響業務。下面我們主要講DB元件的升級方式。
DB版本升級
一、準備新版本的包
包名解壓後一般是tdsqlinstall,比如我這邊把它解壓到/data/home/tdsql/tdsqlinstall
這個裡面包含了db和agent以及其它內容,這邊舉例升級percona版本,對應的升級包裡面的路徑是/data/home/tdsql/tdsqlinstall/percona-5.7.17 把原有的目錄mv 為/data/home/tdsql/tdsqlinstall/percona-5.7.17bak
二、設定例項免切
進入chitu前臺,點選例項,並進入例項詳情,設定“手動免切設定”,將這個例項設定3小時之內免切。、
三、給備DB升級
我們升級時為避免對業務有影響,選擇業務低峰期,採用滾動升級的方法,優先升級備機,所有備機升級完成之後主備切換,然後再升級原有的主機。
備份原來的percona路徑:
cp -rp /data/tdsql_run/4001/percona-5.7.17 /data/tdsql_run/4001/percona-5.7.17_bak
rm -rf /data/tdsql_run/4001/percona-5.7.17
將新的包下的percona路徑拷貝過來(升級包mysql 版本號沒有變化,也許只是核心邏輯有所優化,升級後我們可以從赤兔關注版本資訊)
cp -rp /data/home/tdsql/tdsqlinstall/percona-5.7.17 /data/tdsql_run/4001/
將原來的配置檔案目錄etc再拷貝回來
cp -a /data/tdsql_run/4001/percona-5.7.17_bak/etc/* /data/tdsql_run/4001/percona-5.7.17/etc/
重啟db,先用ps -ef |grep 4001 |grep mysql看一下之前mysqld程序的啟動使用者,切換到那個使用者下(注意啟動使用者和目錄許可權)
chown -R tdsql:users /data/tdsql_run/4001/percona-5.7.17
chmod +x -R /data/tdsql_run/4001/percona-5.7.17
su - tdsql
cd /data/tdsql_run/4001/percona-5.7.17/install/
./restartmysql_cgroup.sh 4001
或者採用殺掉mysql 程序,使mysqld 程序被自動拉起。
後臺檢查程序的啟動時間是否變化
ps -ef |grep 4001 |grep mysql
前臺chitu檢查mysqld的版本號是否變化
四、給主DB升級
備DB都成功升級後,然後赤兔前臺檢視確認主備延遲不高後,做主備切換,如下圖,待切換成功後,升級原來的主DB,升級流程同備DB升級。
全部的DB節點升級完成後,可在赤兔前臺購買例項,買出來的例項就是升級後的DB版本。