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

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

  • 相关阅读:
    前端异常上报
    前端异常解析:Source Map
    前端操作剪切板不完全指北
    多系统之间模块相互引用的引发的深思
    浅谈vue原理(四)
    浅谈vue原理(三)
    浅谈vue原理(二)
    浅谈vue原理(一)
    vue中路由嵌套的作用
    常用的学习网站和小工具
  • 原文地址:https://www.cnblogs.com/itfenqing/p/6131732.html
Copyright © 2011-2022 走看看