iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >数据库中pt-online-schema-change的示例分析
  • 325
分享到

数据库中pt-online-schema-change的示例分析

2024-04-02 19:04:59 325人浏览 独家记忆
摘要

这篇文章主要介绍了数据库中pt-online-schema-change的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。#!/bin

这篇文章主要介绍了数据库中pt-online-schema-change的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

#!/bin/bash


#运行该脚本需要更改2个地方:第一个是基本信息;第二个是--alter
#基本信息(需要更改)

user='xxx'
passWord='xxx'  
host='xxx'
port=xxxx
D='xxx'
t='xxx'


#--alter(需要更改)
#--------------example----------------
# 1.增加字段
# pt-online-schema-change --user=$user --password=$password --host=$host --port=$port  --alter "ADD COLUMN content text" D=$D,t=$t --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --print --execute
# 
# 2.删除字段
# pt-online-schema-change --user=$user --password=$password --host=$host --port=$port  --alter "DROP COLUMN content " D=$D,t=$t --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --execute
# 
# 3.修改字段
# pt-online-schema-change --user=$user --password=$password --host=$host --port=$port  --alter "MODIFY COLUMN age TINYINT NOT NULL DEFAULT 0" D=$D,t=$t --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --execute
#
# 4.字段改名
# pt-online-schema-change --user=$user --password=$password --host=$host --port=$port  --alter "CHANGE COLUMN age address varchar(30)" D=$D,t=$t --no-check-alter --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --execut
#
# 5.增加索引
# pt-online-schema-change --user=$user --password=$password --host=$host --port=$port  --alter "ADD INDEX idx_address(address)" D=$D,t=$t --no-check-alter --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --print --execute
#
# 6.删除索引
# pt-online-schema-change --user=$user --password=$password --host=$host --port=$port  --alter "DROP INDEX idx_address" D=$D,t=$t --no-check-alter --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --print --execute
#
#--------------参数说明-------------
# 1. --ask-pass
#    隐式输入连接Mysql的密码
# 2. --defaults-file
#    -F读取配置文件
# 3. --alter
#    结构变更语句,不需要alter table关键字。可以指定多个更改,用逗号分隔。如下场景,需要注意:
#    不能用RENAME来重命名表。       
#    列不能通过先删除,再添加的方式进行重命名,不会将数据拷贝到新列。
#    如果加入的列非空而且没有默认值,则工具会失败。即其不会为你设置一个默认值,必须显示指定。
#    删除外键(drop foreign key constrain_name)时,需要指定名称_constraint_name,而不是原始的constraint_name。
#    如:CONSTRAINT `fk_foo` FOREIGN KEY (`foo_id`) REFERENCES `bar` (`foo_id`),需要指定:--alter "DROP FOREIGN KEY _fk_foo"
# 4. --alter-foreign-keys-method
#    需要特殊处理带有外键约束的表,以保证它们可以应用到新表.当重命名表的时候,外键关系会带到重命名后的表上。
#    该工具有两种方法,可以自动找到子表,并修改约束关系。
#    auto: 在rebuild_constraints和drop_swap两种处理方式中选择一个。
#    
#    rebuild_constraints:使用 ALTER TABLE语句先删除外键约束,然后再添加.如果子表很大的话,会导致长时间的阻塞。
#    drop_swap: 执行FOREIGN_KEY_CHECKS=0,禁止外键约束,删除原表,再重命名新表。这种方式很快,也不会产生阻塞,但是有风险:
#                在删除原表和重命名新表的短时间内,表是不存在的,程序会返回错误。
#                如果重命名表出现错误,也不能回滚了.因为原表已经被删除。
#    none: 类似"drop_swap"的处理方式,但是它不删除原表,并且外键关系会随着重命名转到老表上面。
# 5. --[no]check-alter
#    默认yes,语法解析。配合--dry-run 和 --print 一起运行,来检查是否有问题(change column,drop primary key)。
#
# 6. --max-lag
#    默认1s。每个chunk拷贝完成后,会查看所有复制Slave的延迟情况。要是延迟大于该值,则暂停复制数据,直到所有从的滞后小于这个值,使用Seconds_Behind_Master。
#    如果有任何从滞后超过此选项的值,则该工具将睡眠--check-interval指定的时间,再检查。如果从被停止,将会永远等待,直到从开始同步,并且延迟小于该值。
#    如果指定--check-slave-lag,该工具只检查该服务器的延迟,而不是所有服务器。
# 7. --check-slave-lag
#    指定一个从库的DSN连接地址,如果从库超过--max-lag参数设置的值,就会暂停操作
# 
# 8. --check-interval
#    默认是1。--max-lag检查的睡眠时间。
#
# 9. --[no]check-replication-filters
#    默认yes。如果工具检测到服务器选项中有任何复制相关的筛选,如指定binlog_ignore_db和replicate_do_db此类。发现有这样的筛选,工具会报错且退出。
#    因为如果更新的表Master上存在,而Slave上不存在,会导致复制的失败。使用–no-check-replication-filters选项来禁用该检查。
# 10. --[no]drop-old-table
#    默认yes。复制数据完成重命名之后,删除原表。如果有错误则会保留原表。
# 
#
#-------------------------------------------------

使用时根据案例和参数说明更改相关参数即可。

感谢你能够认真阅读完这篇文章,希望小编分享的“数据库中pt-online-schema-change的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网数据库频道,更多相关知识等着你来学习!

您可能感兴趣的文档:

--结束END--

本文标题: 数据库中pt-online-schema-change的示例分析

本文链接: https://www.lsjlt.com/news/67164.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库中pt-online-schema-change的示例分析
    这篇文章主要介绍了数据库中pt-online-schema-change的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。#!/bin...
    99+
    2024-04-02
  • pt-online-schema-change使用参数是怎样的呢
    这期内容当中小编将会给大家带来有关pt-online-schema-change使用参数是怎样的呢,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。pt-online-sch...
    99+
    2024-04-02
  • mysql中oak-online-alter-table和pt-online-schema-change的使用限制有哪些
    小编给大家分享一下mysql中oak-online-alter-table和pt-online-schema-change的使用限制有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大...
    99+
    2024-04-02
  • Angular中Change Detection的示例分析
    这篇文章主要介绍Angular中Change Detection的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ChangeDection检测程序内部状态,然后反映到UI上。引起状态变化,引发检查的驱动源:E...
    99+
    2023-06-06
  • 数据库中sqlnet.ora的示例分析
    小编给大家分享一下数据库中sqlnet.ora的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 一、例子1、SQLNET.AUTHENTICATION_SERVICES= (NT...
    99+
    2024-04-02
  • CREATE INDEX ......ONLINE的示例分析
    今天就跟大家聊聊有关CREATE INDEX ......ONLINE的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。这里我们讨论一下CREATE INDEX......ON...
    99+
    2023-06-06
  • mysql数据库中mycli的示例分析
    这篇文章给大家分享的是有关mysql数据库中mycli的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。可以先看下效果图:如果自己不去尝试,可能感受没那么强烈,所以不如自己...
    99+
    2024-04-02
  • MySQL数据库的示例分析
    这篇文章给大家分享的是有关MySQL数据库的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、数据库概要数据库(Database)是存储与管理数据的软件系统,就像一个存入...
    99+
    2024-04-02
  • MySQL数据库中数据约束的示例分析
    这篇文章主要介绍了MySQL数据库中数据约束的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为了防止不符合规范的数据进入数据库,在用...
    99+
    2024-04-02
  • css中will-change属性的示例分析
    这篇文章主要介绍了css中will-change属性的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。will-changeCSS 属...
    99+
    2024-04-02
  • 数据库中跨库数据表运算的示例分析
    这篇文章将为大家详细讲解有关数据库中跨库数据表运算的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 简单合并(FROM)所谓跨库数据表,是指逻辑上同一张数据表...
    99+
    2024-04-02
  • openldap中数据库配置的示例分析
    这篇文章主要介绍openldap中数据库配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完![root@ldap-server ldap]# cp&nbs...
    99+
    2024-04-02
  • 数据库中sql注入的示例分析
    这篇文章将为大家详细讲解有关数据库中sql注入的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先可能大家都会问什么是sqlSql是数据库的一种类型,是用来存储网...
    99+
    2024-04-02
  • 数据库中间件MyCat的示例分析
    这篇文章主要为大家展示了“数据库中间件MyCat的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中间件MyCat的示例分析”这篇文章吧。1、Myc...
    99+
    2024-04-02
  • Redis数据库分布式的示例分析
    这篇文章给大家分享的是有关Redis数据库分布式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题:1-2亿数据需要缓存,如何设计?1 哈希取余分区2亿条记录就是2亿个k,v,假设有3台机器构成一个集群...
    99+
    2023-06-28
  • 数据库中oradebug 10046事件的示例分析
    这篇文章给大家分享的是有关数据库中oradebug 10046事件的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 SQL> orad...
    99+
    2024-04-02
  • mysql数据库中子查询的示例分析
    这篇文章主要介绍mysql数据库中子查询的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql子查询是什么?子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部...
    99+
    2024-04-02
  • oracle数据库中表的操作示例分析
    这篇文章主要为大家展示了“oracle数据库中表的操作示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“oracle数据库中表的操作示例分析”这篇文章吧。1...
    99+
    2024-04-02
  • mysql数据库中锁机制的示例分析
    这篇文章主要介绍mysql数据库中锁机制的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!悲观锁与乐观锁: 悲观锁:顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所...
    99+
    2024-04-02
  • MySQL数据库事务的示例分析
    小编给大家分享一下MySQL数据库事务的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!事务特点:ACID从业务角度出发,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作