数据库中pt-online-schema-change的示例分析
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章主要介绍了数据库中pt-online-schema-change的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。#!/
千家信息网最后更新 2024年11月26日数据库中pt-online-schema-change的示例分析
这篇文章主要介绍了数据库中pt-online-schema-change的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
#!/bin/bash#运行该脚本需要更改2个地方:第一个是基本信息;第二个是--alter#基本信息(需要更改)user='xxx'password='xxx' host='xxx'port=xxxxD='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的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
数据
工具
检查
参数
字段
方式
篇文章
延迟
时间
服务器
错误
处理
服务
数据库
示例
分析
信息
拷贝
索引
语句
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
通信网络技术中SIF是什么
服务器1t硬盘
怎么进入gitlab服务器
wps表格数据库功能
时序数据库druid备份
地球末日服务器
上海网络安全等保培训
数据库应用技术面试题
金融软件开发 概念股票
网络技术基础会计分录
软件开发岗与测试哪个好
福建综合软件开发定制费用是多少
日照交友软件开发
行政事业单位网络安全措施
方舟生存进化末日生存服务器
运用了哪些数据库技术
湖北省信息网络安全协会培训
淘宝特价服务器
兴国软件开发
上海软件开发 网站
网络安全法第1条讲
端午网络安全演讲稿
财政局 贯彻 网络安全法
因为该数据库不存在
民间网络安全团队
华三网络安全工程师待遇
使命召唤先锋服务器连接中断
巨杉数据库支持唯一性约束
大连 软件开发培训
高吼兽x4b数据库