首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数据库相关

    pg_osc 工具介绍

    注意事项: 参考官方文档 https://github.com/shayonj/pg-osc DDL变更逻辑,和 pt-osc基本类似: 1. 创建一个审计表来记录对父表所做的更改。 2. 打tag # docker tag 9ddffecd4e3e pg-osc:lee 案例1 删列 export PGPASSWORD="dts" docker run --network host - 的kill后端功能来杀死可能与pg osc操作竞争的其他后端,以便在短时间内获取锁。 pg osc获取的ACCESS EXCLUSIVE锁只持有一小段时间,之后释放。你可以调整pg osc在杀死其他后端之前应该等待多长时间(或者如果pg osc一开始就应该杀死后端)。 也就是说,您可能会看到pg osc一次从审计表中回放1000行(pull batch count)。pg osc也在进行交换之前等待,直到审计表中的剩余行计数(delta计数)为20。

    67320编辑于 2023-04-30
  • 来自专栏咖啡的代码人生

    初步使用OSC@Git (笔记)

    首先当然是在osc@git上面建一个项目 然后把上面的项目复制到本地 git clone http://git.oschina.net/xxxxxx/xxxxxx.git //复制项目到本地当前文件夹下 会自动使用 origin 来命名仓库 和 master 来命名分支,所以这里我们 直接 git push origin master 就可以 推送 我们 的更新 到服务器 当然最好我们还要输入我们的osc @git帐号,如果你是通过osc登录osc@git ,那帐号密码就是你osc的邮箱和密码

    75540发布于 2018-05-08
  • 来自专栏DBA随笔

    MySQL大表删除工具pt-osc

    使用pt-osc工具修改表结构 pt-osc工具是PT工具包里面的一种,它的全称是pt-online-schema-change,看这个名字,不难猜出来,它是为了在线修改表结构来才创建出来的,所谓的在线修改表 pt-osc工具的工作原理及步骤 : 1. 创建需要执行alter操作的原表的一个临时表,然后在临时表中更改表结构。 2. `pt_osc_db_name_table_name_del` DROP TRIGGER IF EXISTS `db_name`. `pt_osc_db_name_table_name_upd` DROP TRIGGER IF EXISTS `db_name`. `pt_osc_db_name_table_name_ins` 2019-10-28T14:38:24 Dropped triggers OK.

    2.7K10发布于 2019-11-06
  • 来自专栏爱可生开源社区

    技术分享 | Online DDL 工具 pt-osc

    ---- Online DDL 工具:pt-osc 对于 MySQL Online DDL 目前主流的有三种工具: 原生 Online DDL; pt-osc(online-schema-change) `pt_osc_testdb_sbtest1_del` DROP TRIGGER IF EXISTS `testdb`. `pt_osc_testdb_sbtest1_upd` DROP TRIGGER IF EXISTS `testdb`. `pt_osc_testdb_sbtest1_del` DROP TRIGGER IF EXISTS `testdb`. `pt_osc_testdb_sbtest1_upd` DROP TRIGGER IF EXISTS `testdb`.

    6.1K31发布于 2020-09-23
  • 来自专栏咖啡的代码人生

    DEA 分享项目到 Git@OSC

    前言:在正常的项目开发里面,我们一般是先有项目,然后再建立版本管理的,所以如果是先在Git@OSC 建立项目然后clone下来,再提交的话,我这种处女座的人总是会很不爽的。。。 首先,我们解决的情况是,已经有了一个正在开发的项目,现在我们要把他分享到git@osc上面去。 1.第一步,当然是先在Git@OSC上创建仓库,拿到Git@OSC仓库的HTTP连接http://git.oschina.net/***/***.git 2.如果我们的本地项目是非git项目,那我们要先把它变成 origin http://git.oschina.net/***/***.git # 抓取远程仓库数据,并自动合并远程分支 # git pull origin master # 更新本地数据到Git@OSC master image.png 如果pull或者push失败 请参考git提示进行解决  比如已经有remote地址 可以git remote rm origin清除 这样项目就提交到Git@OSC

    72570发布于 2018-05-08
  • 来自专栏《C++与 AI:个人经验分享合集》

    OSC 社区:开源项目运营的宝藏之地》

    OSC 社区作为一个专注于开源的社区平台,为开源项目的运营提供了广阔的空间和丰富的资源。本文将详细介绍如何在 OSC 社区中有效地运营你的开源项目。 一、了解 OSC 社区 在开始运营之前,深入了解 OSC 社区的特点和规则是至关重要的。熟悉社区的版块设置、交流方式以及用户群体,这将有助于你更好地适应社区氛围并与其他成员进行有效的沟通和合作。 三、创建详细的项目文档 在 OSC 社区中,详细的项目文档是吸引潜在用户和贡献者的关键。包括项目的背景、功能介绍、技术架构、安装指南等内容,让用户能够快速了解项目并决定是否参与其中。 总之,在 OSC 社区运营开源项目需要持续的努力和投入。通过积极参与社区、提供优质的项目文档和保持项目的活跃性,你将能够吸引更多的用户和贡献者,推动项目的成功运营。 开源项目的魅力在于合作和共享,让我们共同在 OSC 社区中打造优秀的开源项目,为技术创新和发展贡献力量。

    32210编辑于 2024-12-09
  • 来自专栏DBA随笔

    pt-osc工具的一个细节

    //pt-osc工具的一个细节// 在MySQL中,如果我们需要对大表进行变更,往往使用gh-ost或者pt-osc工具,我平日里使用pt-osc比较多,来说说这个工具使用过程中的一个细节吧。 关于pt-osc工具,之前写过两篇文章,分别是: MySQL大表删除工具pt-osc pt-osc工具引发的主从延迟 有兴趣可以点击链接进行查看,今天来看pt工具的另外一个特性。 01 直接ctrl+c停止pt-osc工具这个命令 使用ctrl+c的方法,停止这个pt-osc的命令,可以得到如下的输出: ^C# Exiting on SIGINT. `pt_osc_yeyztest_test_del` DROP TRIGGER IF EXISTS `yeyztest`. 3、最好避免这种pt-osc执行了一半,要强制终止的操作,本身是不安全的,如果必须要终止,就需要从业务侧进行评估。

    1.4K11发布于 2020-07-01
  • 来自专栏DBA随笔

    pt-osc工具引发的主从延迟

    // pt-osc工具引发的主从延迟 // 今天早上上班来,接了一个需求,需要对线上一个大表做个归档的操作,其实就是rename一下,将表table从A库转移到B库里面,然后在A库中创建一个同名的表 关于pt-osc工具,可以看我之前写过的文章,里面讲的也比较清楚了。 《MySQL大表删除工具pt-osc》 要添加索引,首先查看这个表的数据量: select count(*) from table; +-----------+ | count(*) | +--- pt-osc工具执行的中间表给drop掉,这样pt-osc工具的执行过程就停止了。 最后是等到这个pt-osc工具的insert操作做完之后,SBM值才变成0,主从数据才实现同步。

    1.7K20发布于 2020-04-26
  • 来自专栏MySQL数据库技术栈

    PT-OSC在线DDL变更工具使用攻略

    PT-OSC工具的限制 原表上不能有触发器。 原表必须有主键。 如果原表有外键,需要使用--alter-foreign-keys-method指定特定值,否则工具不予执行。 pt-online-schema-change --user=root --password=root --alter "engine=innodb" D=test,t=tuser –execute 一些思考 在之前研究pt-osc

    2.4K23发布于 2020-08-05
  • 来自专栏DBA随笔

    pt-osc改表过程中的中文乱码问题

    // pt-osc改表过程中的中文乱码问题 // 下午使用pt-osc工具对线上表进行变更的时候,发现了一个问题,在对latin1字符集进行变更的时候,变更完毕之后的表的中文注释都变成了'?' --charset这个参数在pt-osc这个工具中,指的是使用哪种字符集去连接数据库,如果使用utf8的话,那么在连接到数据库之后,会首先执行set names utf8;它指定了客户端和服务器之间传递字符的编码规则为 如果我们使用latin1这个字符集,则说明pt-osc工具和mysql交互的字符集是latin1,而这个字符集是无法保存汉字的,所以结果中就出现了????的字眼。 除此之外,今天还专门看了下pt-osc工具创建的三个触发器的内容,触发器的内容不是单纯的将主库上的动作原封不动的搬迁到从库上,它的创建规则如下: (1)对于DELETE操作,pt工具使用DELETE IGNORE

    1.8K10发布于 2020-08-10
  • 来自专栏兰舟千帆的java学习笔记

    IaaS开源软件之zstack(OSC中国开源项目的TOP30)

    IaaS开源软件之zstack(OSC中国开源项目的TOP30) 中国的开源软件事业正在蓬勃发展,开源的技术也成为了中国信息技术产业不可分割的一部分。 全新的开源IaaS国产开源软件—zstack曾于2020年在OSC(中国最权威,最大的开源项目评选中斩获TOP30。

    1K20编辑于 2022-07-16
  • 来自专栏数据库相关

    pt-osc 遇到一个not null 不带default值的案例

    `pt_osc_test_sbtest1_del`DROP TRIGGER IF EXISTS `test`. `pt_osc_test_sbtest1_upd`DROP TRIGGER IF EXISTS `test`. `pt_osc_test_sbtest1_del`DROP TRIGGER IF EXISTS `test`. `pt_osc_test_sbtest1_upd`DROP TRIGGER IF EXISTS `test`. pt-osc 在将原表数据插入到new表的过程中,因为new表的col2字段设置了not null属性,但是原表又没有这个字段的值,就导致了数据insert失败了,pt-osc也就失败自动退出进程了。

    15900编辑于 2025-05-29
  • 来自专栏爱可生开源社区

    故障分析 | pt-osc:特定场景下的数据清理神器

    在近期的一次巡检就发生了一次,借此机会介绍一下如何使用 pt-osc[1](pt-online-schema-change)工具快速清理数据。 为什么选择使用 pt-osc? 不过现在也可以使用新版本的 pt-osc 来实现这个效果。 percona-toolkit v3.6.0 版本对 pt-osc 新增参数 --where,只复制满足条件的数据,利用这个参数即可实现数据的过滤。 : https://docs.percona.com/percona-toolkit/pt-archiver.html 本文关键字:#MySQL# #pt-osc# #磁盘清理#

    31300编辑于 2025-02-19
  • 来自专栏杨建荣的学习笔记

    MySQL中使用pt-osc的一些小结

    Percona的pt-osc工具算是DBA的一个福利工具。 `pt_osc_test_newtest_del` DROP TRIGGER IF EXISTS `test`. `pt_osc_test_newtest_upd` DROP TRIGGER IF EXISTS `test`. /pt-online-schema-change --host=127.0.0.1 -u pt_osc -p pt_osc -P33091 --alter='add index idx_newtest_name `pt_osc_test_newtest_del` DROP TRIGGER IF EXISTS `test`.

    71410发布于 2018-07-26
  • 来自专栏爱可生开源社区

    数据传输 | 如何配合 pt-osc 使用 DTLE 同步 DDL

    如何配合pt-osc使用DTLE同步DDL 背景:在社区群里有同学询问,源库使用pt-osc做表DDL变更,DTLE是否支持? 1. pt-osc的原理 1). DTLE支持rename语句 看来DTLE应该是支持pt-osc做表DDL变更的,接下就具体操作一下。 3. 操作步骤 1). 在源端有数据流量的同时,执行pt-osc命令 shell> pt-online-schema-change --print --statistics --progress time,30 --user= 此报错不会影响pt-osc的执行。 [liuan0411-2.png] 7). 检查DDL被正确同步以及数据的一致性 [liuan0411-3.png] [liuan0411-4.png] 4. 使用pt-osc工具做表DDL变更DTLE是支持的 2). 虽然本例中指定了需要同步的表,实际上直接创建一个Database级别的任务也可以达到同-样的效果 3).

    62510编辑于 2022-04-15
  • 来自专栏DBA 平台和工具

    pt-osc工具 - 支持对部分数据的表结构变更

    从 Percona Toolkit 3.6.0 开始,pt-online-schema-change支持选项--where,支持对部分数据的表结构变更。

    24710编辑于 2024-06-26
  • 来自专栏爱可生开源社区

    数据传输 | 如何配合 pt-osc 使用 DTLE 同步 DDL

    背景:在社区群里有同学询问,源库使用pt-osc做表DDL变更,DTLE是否支持? 1. pt-osc的原理 1). 创建一个与原表结构相同的空表,表名是_原表名_new 2). DTLE支持rename语句 看来DTLE应该是支持pt-osc做表DDL变更的,接下就具体操作一下。 3. 操作步骤 1). 创建一个DTLE任务 注意此处需要将_原表名_old表和_原表名_new都加入都DTLE任务的同步范围 job "test_pt_osc" { datacenters = ["dc1"] group 在源端有数据流量的同时,执行pt-osc命令 shell> pt-online-schema-change --print --statistics --progress time,30 --user= 此报错不会影响pt-osc的执行。 7). 检查DDL被正确同步以及数据的一致性 4. 总结 1). 使用pt-osc工具做表DDL变更DTLE是支持的 2).

    60930编辑于 2022-05-23
  • 来自专栏爱可生开源社区

    技术分享 | 原来 pt-osc 改表是这样实现的!原理详解【附场景案例】

    pt-osc 命令都省去了,感觉更加的生疏了,趁着这次机会就来梳理总结一下。 测试环境 pt-osc 3.0.13 MySQL 5.7.26 2问题梳理 用过 pt-osc 改表的朋友都应该非常熟悉这工具的工作流程了,这里简单过一遍: 创建一张与原表结构一致的新表,然后对新表完成改表需求 3问题解惑 通过 binlog 来抓取一下 pt-osc 的一次完整改表操作。 _t1_upd`; DROP TRIGGER `pt_osc_dbzz_new_dbversion1_t1_ins`; DROP TRIGGER `pt_osc_dbzz_new_dbversion1_ 虽然 pt-osc 是被放在最后才会选择的方案,但是在使用中会发现很多场景使用 gh-ost 并不适用,或者说时间成本更高,对于部分场景在确保稳定及安全的前提下是可以使用 pt-osc 进行的,比如下面的

    57410编辑于 2024-09-14
  • 来自专栏数据库相关

    pt-osc 报错一例【时间列为 0000-00-00 00:00:00】

    `pt_osc_sbtest_sbtest111_del`DROP TRIGGER IF EXISTS `sbtest`. `pt_osc_sbtest_sbtest111_upd`DROP TRIGGER IF EXISTS `sbtest`. `pt_osc_sbtest_sbtest111_del`DROP TRIGGER IF EXISTS `sbtest`. `pt_osc_sbtest_sbtest111_upd`DROP TRIGGER IF EXISTS `sbtest`. `pt_osc_sbtest_sbtest111_ins`2025-05-28T19:16:13 Dropped triggers OK.`sbtest`.

    24100编辑于 2025-05-28
  • 来自专栏数据库相关

    【转】TiDB Syncer不同表名库名同步且支持pt-osc改表

    TiDB Syncer不同表名库名同步且支持pt-osc改表 mysql端库名叫sysbench, 表名sbtest11 tidb端库名ptosc_sysbench,表名ptosc_sbtest11 执行的 pt-osc命令 #pt-online-schema-change --ask-pass --check-interval=1 --no-check-replication-filters --no-check-alter pattern-table = "sbtest11" target-schema = "ptosc_sysbench" target-table = "ptosc_sbtest11" 原因: pt-osc E4%B8%8D%E5%90%8C%E8%A1%A8%E5%90%8D%E5%BA%93%E5%90%8D%E5%90%8C%E6%AD%A5%E4%B8%94%E6%94%AF%E6%8C%81pt-osc

    58320编辑于 2023-03-24
领券