zoukankan      html  css  js  c++  java
  • percona-toolkit中在线ddl

    percona-toolkit中在线ddl

    percona-toolkit工具提供了一组用于mysql操作的工具,比如主从复制,在线更改mysql表ddl等

    一.安装
    1.安装perl(略)

    yum install perl
    

      

    2.安装必要软件:

    yum install perl-DBI
    yum install perl-DBD-MySQL 
    yum install perl-Time-HiRes 
    

      

    3.安装percona-toolkit
    wget http://percona.com/get/percona-toolkit.tar.gz

    tar zxvf percona-toolkit-2.1.5.tar.gz
    cd percona-toolkit-2.1.5
    perl Makefile.PL
    make
    make test
    make install


    二.使用pt-online-schema-change在线更改ddl

    D代表数据库
    t代表数据表
    alter 代表操作语句,但无需alter table,pt-online-schema-change不能rename table.

    *表必须要有主键,删除主键的更改不会被接受 

    1.增加列(操作)
    pt-online-schema-change -u root -h 127.0.0.1 -p test --alter='drop column vid' --charset=utf8 --execute D=test,t=test

    注意:需要增加--charset,否则可能会造成数据表结构注释的乱码

    2.增加列(只显示操作过程)
    pt-online-schema-change -u root -h 127.0.0.1 -p test --alter='drop column vid' --charset=utf8 --print D=test,t=test

    3.删除列
    pt-online-schema-change --user=root --password=123456 --host=192.168.200.25 --alter "DROP COLUMN content " D=aaa,t=tmp_tes

    4.修改字段
    pt-online-schema-change --user=root --password=123456 --host=192.168.200.25 --alter "MODIFY COLUMN age TINYINT NOT NULL DEFAULT 0" D=aaa,t=tmp_test --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --execute

    5.字段改名
    pt-online-schema-change --user=root --password=123456 --host=192.168.200.25 --alter "CHANGE COLUMN age address

    6.增加索引
    pt-online-schema-change --user=root --password=123456 --host=192.168.200.25 --alter "ADD INDEX idx_address(address)" D=aaa,t=tmp_test --no-check-alter --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --print --execute

    7.删除索引
    pt-online-schema-change --user=root --password=123456 --host=192.168.200.25 --alter "DROP INDEX idx_address" D=aaa,t=tmp_test --no-check-alter --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --print --execute

    需要注意:在生产环境中更改,需要备份,及测试,测试无误后再做更改

  • 相关阅读:
    [北大机试C]:走迷宫(BFS)
    [北大机试B][OpenJ_Bailian-2965]:玛雅历(模拟)
    [北大机试A]:有趣的跳跃(模拟)
    [2019北大机试D]:最大上升子序列和(DP)[计蒜客-T1221/HDU1087]
    [牛客练习赛53] A.超越学姐爱字符串 [dp]
    [牛客][北大考研复试]I Wanna Go Home[dijkstra]
    SP1716 GSS3
    牛客小白月赛13_A_小A的签到题
    自习室管理系统,基于B/S模式下的JAVA系统
    基于SSH的聊天室
  • 原文地址:https://www.cnblogs.com/itfenqing/p/6131732.html
Copyright © 2011-2022 走看看