1. 程式人生 > 其它 >TDSQL(MySQL版)之DB元件升級

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版本。