上传项目图片:“Percona Toolkit”雷竞技下载官网
  1. 雷竞技下载官网Percona工具包
  2. pt - 91

使pt-osc与AFTER触发器兼容

    XML 可打印的

细节

    • 新功能
    • 状态: Done">完成
    • 媒介
    • 解决方法: 固定
    • 3.0.2
    • 3.0.4
    • 没有一个
    • 没有一个

    描述

      目前pt-online-schema-change不能运行,如果表已经有AFTER触发器。但它可以,如果添加一个选项,指示工具执行以下操作(参见伪代码):

      添加触发器的工作流程如下(根据我们自己使用基于触发器的工具的经验):

      • 锁定问题表(标准mysql锁表写入)
      • 取出现有的触发码,称之为第1块
      • 将触发代码记录到临时文件中,以避免pt-osc故障时触发定义丢失
      • 生成pt-osc的触发代码,称之为block 2
      • 删除现有触发器
      • 创建一个带有块1和块2的新触发器,将它们包装在/* block 1 START */ comments中,如果这样更容易解析的话
      • 重复其他事件(覆盖所有的ins,upd,del)
      • 打开表
        要删除触发器,则相反:
      • 用写锁锁定表
      • 拉出触发代码并解析出块1
      • 放下扳机
      • 仅使用块1中的代码创建触发器
      • 重复其他事件
      • 打开表

      不要将此选项设为默认值,并添加如果工具或MySQL服务器在执行过程中被杀死,数据库可能处于不一致状态的警告。

      启动:[https://bugs.launchpad.net/percona-雷竞技下载官网toolkit/ +错误/ 1491133

      参数的接受标准:

      场景——preserve-triggers特性需要删除旧的表和触发器,并重新创建它们表格由于不可能有重复的触发器名称,旧的表和触发器必须删除并重新创建。特性:——preserve和——no-drop-old-table params当指定——preserve-triggers参数时,并且指定——no-drop-old-table时,则以错误消息退出。特性:——preserve triggers和——no-swap-tables params当指定——preserve-triggers参数时,并且指定——no-swap-tables时,则以错误消息退出。当指定了——preserve-triggers参数并且指定了——no-drop-triggers时,则返回错误消息退出

      附件

        活动

            carlos.salguero卡洛斯Salguero
            carlos.salguero卡洛斯Salguero
            投票:
            0 为这个问题投票
            观察人士:
            4 开始关注这个问题

            日期

              创建:
              更新:
              解决:

              聪明的清单