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

Pt-online-schema-change在虚拟列时失败

    XML 可打印的

细节

    描述

      启动:https://bugs.launchpad.net/雷竞技下载官网percona-toolkit/+bug/1400929

      错误描述:
      使用带有虚拟(持久)列的表的Maria 5.5,它在向新表中插入行时尝试包含这些列。

      产生的错误(警告)为-

      # pt_online_schema_change:10337 27978 SHOW WARNINGS #重试:3671 27978 Try code failed: connecting rows caused a MySQL error 1906: #级别:警告#代码:1906 #消息:指定的值计算列“is_aff_trans”在表“_transactions_new”忽略了

      建议的行为是它应该跳过插入列
      是持久的,并让他们重新计算时,他们被插入
      玛丽亚不是. .

      如何繁殖:

      mysql> CREATE TABLE ' new_table ' (-> ' ID 'int(11) NOT NULL, -> ' Column2 'int(11)默认NULL, -> ' Column3 'int(11) GENERATED ALWAYS AS ((' Column2 ' + 1)) STORED, -> PRIMARY KEY (' ID ') ->) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;mysql> INSERT INTO ' new_table ' (' ID ', ' Column2 ') VALUES' 1 '' 2 ');mysql> \q Bye .查询OK, 1行影响(0.07秒)
      (电子邮件保护):~/build/ps-5.7/mysql-test$ ~/build/雷竞技下载官网percona-toolkit/bin/pt- online-schema-change——alter 'ADD COLUMN ' Column4 ' VARCHAR(45) NULL AFTER ' Column3 " D=test,t=new_table,h=127.0.0.1,P=13001,u=root #一个软件更新是可用的:# *当前版本雷竞技下载官网Percona::Toolkit是3.0.1操作,尝试,等待:analyze_table, 10, 1 copy_rows, 10, 0.25 create_triggers, 10, 1 drop_triggers, 10, 1 swap_tables, 10, 1 update_foreign_keys, 10, 1退出没有改变' test '。' new_table ',因为没有指定——dry-run和——execute。使用前请仔细阅读工具文档工具。(电子邮件保护)~/build/ps-5.7/mysql-test$ ~/build/p雷竞技下载官网ercona-toolkit/bin/pt-online-schema-changeVARCHAR(45) NULL AFTER ' Column3 'D=test,t=new_table,h=127.0.0.1,P=13001,u=root——execute没有slave看到——recursion-method如果主机Thinkie有奴隶。没有检查slave lag,因为没有找到slave,并且没有指定——check-slave-lag。操作,尝试,等待:analyze_table, 10,1 copy_rows, 10,0.25 create_triggers, 10,1 drop_triggers, 10,1 swap_tables, 10,1 update_foreign_keys, 10,1正在修改' test ' . ' new_table '…创建表格创建表测试。_new_table_new OK。改变表格改变“测试”。“_new_table_new”好了。2017-09-29T15:51:18创建触发器…2017-09-29T15:51:19已创建触发器OK。2017-09-29T15:51:19复制大约1行…2017-09-29T15:51:19删除触发器…2017-09-29T15:51:19 drop triggers OK。2017 - 09 - 29 t15:51:19下降表格2017 - 09 - 29 t15:51:19下降表好。“测试”。' new_table '没有改变。2017-09-29T15:51:19从“test”中复制行错误。' new_table '到' test '。' _new_table_new ': 2017-09-29T15:51:19 DBD::mysql::st execute failed:指定的值生成的列“Column3”在表“_new_table_new”是不允许的。[声明"INSERT LOW_PRIORITY IGNORE INTO ' test ' . "' _new_table_new ' (' id ', ' column2 ', ' column3 ') SELECT ' id ', ' column2 ', ' column3 ' FROM ' test '。' new_table '锁定在共享模式/*pt-online-schema-change 12426 copy table*//home/sveta/build/perco雷竞技下载官网na-toolkit/bin/pt-online-schema-change行10924。

      附件

        活动

            carlos.salguero"></span></span>卡洛斯Salguero</span></span>
                  </dd>
                 </dl>
                 <dl>
                  <dt title=
            sveta.smirnova"></span></span>Sveta Smirnova</span></span>
                  </dd>
                 </dl>
                </div>
                <div class=
            投票:
            0 为这个问题投票
            观察人士:
            1 开始关注这个问题

            日期

              创建:
              更新:
              解决:

              聪明的清单