背景:
TDSQL for MySQL版,由于内核是基于Mysql开发的,因此可能存在部分MySQL的BUG,因此需要对DB内核进行升级。
正文:
在升级前必须注释掉crontab的定时拉起ocagent的脚本,db、网关、mysqlagent都是直接或间接由ocagent拉起的。注释完后,停止oc_agent。
crontab –e
cd /data/oc_agent/bin
./stop_agent.sh
一、准备新版本的包
把它解压到/root目录下(任意位置即可)
对应的升级包里面的路径是/root/percona-5.7.17
cd /root
tar -xzvf percona-5.7.17.tar.gz

二、设置实例免切
进入赤兔前台,点击实例,并进入实例详情,设置“手动免切设置”,将这个实例设置1小时之内免切。

三、给备DB升级
备份并删除原来的percona:
cp -rp /data/tdsql_run/4037/percona-5.7.17 /data/tdsql_run/4037/percona-5.7.17_bak
rm -rf /data/tdsql_run/4001/percona-5.7.17
将新的包下的percona路径拷贝过来
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 4037 |grep mysql看一下之前mysqld进程的启动用户,切换到那个用户下(注意启动用户和目录权限,由于部署环境原因,有些环境下的权限组为tdsql:users)
)
chown -R user_00:users /data/tdsql_run/4037/percona-5.7.17
chmod +x -R /data/tdsql_run/4037/percona-5.7.17

su - user_00
cd /data/tdsql_run/4037/percona-5.7.17/install/
./restartmysql_cgroup.sh 4037
后台检查进程的启动时间是否变化
ps -ef |grep 4037 |grep mysqld
前台赤兔检查mysqld的版本号是否变化


四、主DB升级
如上图所示,备DB都成功升级后,然后赤兔前台查看确认主备延迟不高后,做主备切换,如下图。





待切换成功后,升级原来的主DB,升级流程同备DB升级(步骤一、二、三)。
升级完毕后,需要打开之前注释的crontab以及启动ewp
crontab -e
cd /data/oc_agent/bin
./start_agent.sh

全文完




