TDH集群升级MariaDB方法

  升级, 安装部署, 漏洞信息
内容纲要

概要描述


对 TDH 集群进行安全扫描,有可能会扫描出 MariaDB 的漏洞,这是因为 Manager 组件从TDH 5.0 开始使用了 MariaDB 非最新的版本存储元数据。

可以参照本文方法对MariaDB数据库进行升级。

详细说明


本文介绍的升级方案适用环境:

  • 操作系统:CentOS 7.x
  • TDH集群:TDH 5.X~7.X

可以参照如下方法将MariaDB升级到10.2.7, MariaDB 10.2.7是本文发布的时候已经经过验证的与 TDH 集群适配的最高版本,使用本文档来升级到更高版本不能保证正确性。

  1. 点击下载 MariaDB 10.2.7 更新包: MariaDB_10.2.7.tar
    (MD5: 8c2a0dec7d3d5684023f169ff63ef2fd)

  2. 将其上传到需要升级 MariaDB 的TDH Manager节点并解压:tar -xvf MariaDB_10.2.7.tar,解压后,可以看到文件被解压到了 mariadb-10.2.7-rhel-7-x86_64-rpms 目录:

    # tar -xvf MariaDB_10.2.7.tar
  3. 停止正在运行的transwarp-manager-db服务,并备份数据库。
    停止数据库服务:systemctl stop transwarp-manager-db
    备份数据库:cp -r /var/lib/transwarp-manager/master/data/mysql/ /var/lib/transwarp-manager/master/data/mysql.bak/

    //停止数据库服务
    # systemctl stop transwarp-manager-db
     
    //备份数据库
    #cp -r /var/lib/transwarp-manager/master/data/mysql/ /var/lib/transwarp-manager/master/data/mysql.bak/
  4. 进入 mariadb-10.2.7-rhel-7-x86_64-rpms 目录,运行脚本 setup_repository 脚本设置升级使用的MaraiaDB Repo:

    # cd mariadb-10.2.7-rhel-7-x86_64-rpms
    # ./setup_repository
  5. 安装MariaDB升级:yum install -y MariaDB-server

    # yum install -y MariaDB-server
  6. 安装完成后,删除第4步创建的Repo源:rm -f /etc/yum.repos.d/mariadb.repo

    # rm -f /etc/yum.repos.d/mariadb.repo
  7. 修改mysql日志所在目录权限:chmod a+x /var/log/transwarp-manager/master

    # chmod a+x /var/log/transwarp-manager/master
  8. 启动transwarp-manager-db数据库服务:systemctl start transwarp-manager-db

    # systemctl start transwarp-manager-db
  9. 执行 mysql_upgrade :

    • TDH 5.x, 6.x, 7.x:
      # mysql_upgrade -uroot -p$(cat /etc/transwarp-manager/master/db.properties |grep io.transwarp.manager.db.password |awk -F = '{print $2}') -S  /var/run/mariadb/transwarp-manager-db.sock
    • TDH 4.x:
      # mysql_upgrade
  10. 正确完成升级后,可释放备份的数据:

    # rm -rf /var/lib/transwarp-manager/master/data/mysql.bak/

升级失败的常见问题

  1. 运行 yum install MariaDB-server 失败

    • 原因1:安装MariaDB-server时,需要检查相关依赖,从系统repo源中下载安装包,当前错误是os.repo源的配置文件损坏
    • 解决方法1:进入/var/lib/transwarp-manager/master/pub/os/Packages,利用rpm -ivh手动安装报错的包
    • 原因2:MariaDB的Repo配置文件/etc/yum.repos.d/mariadb.repo中有gpgkey那行,安装的时候会根据该地址去check是否正确,当无法连接外网时,报错
    • 解决方法2:修改MariaDB Repo配置文件 /etc/yum.repos.d/mariadb.repo, 注释掉gpgkey行,然后加上 gpgcheck=0, 然后执行下 yum clean all, 再重新 yum install MariaDB-server 安装
  2. 当集群开启Manager HA后,mysql_upgrade执行失败,利用前面的mysql_upgrade命令升级报错

    • 原因:当前目录下没有transwarp-manager数据库目录,不能通过之前的命令更新manager数据库
    • 解决方法:去掉-u 和-p参数:
      # mysql_upgrade -S /var/run/mariadb/transwarp-manager-db.sock

若有其他疑问,您也可以 联系星环科技全球技术支持中心 以寻求帮助。

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。