问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql主不锁定的状况下怎么添加新的从节点

发布网友 发布时间:2022-04-07 19:50

我来回答

2个回答

懂视网 时间:2022-04-08 00:11

MySQL5.6在线DDL不锁表(在线添加字段)

解答你也看一下
MySQL5.6在线DDL不锁表,现在我有一张1亿的表,需要增加一个字段,假如我让你去增加这个字段,你应该注意什么,具体怎么操作?

操作如下:
1.注意磁盘空间(临时表目录)
2.当前内存剩余量
3.当前有没有大的事务在执行
4.innodb_online_alter_log_max_size参数
5.然后在从上添加,再在主上添加(不记录binlog),处理完成后再开启

如果直接先在主上操作,那么会导致主从延迟很大(在量比较大的情况下)。因为主从复制,从库的SQL线程是单进程,它接收到主库的BINLOG,要一条一条执行,一条SQL卡住了,后面的SQL就会排队等待,这时同步就延迟了

 

附注:

在之前的版本,InnoDB引擎是通过以下步骤来进行DDL的:
1 按照原始表(original_table)的表结构和DDL语句,新建一个不可见的临时表(tmp_table)----> create table tmp_table like original_table;
2 在原表上加write lock,阻塞所有更新操作(insert、delete、update等,一行行的把原表数据拷贝到临时表里,且更新索引)
3 执行insert into tmp_table select * from original_table
4 rename original_table和tmp_table,最后drop original_table
5 释放 write lock。

如查采用第三方工具推荐使用pt-online-schema-change

 

工作原理:
如果表有外键,除非使用 --alter-foreign-keys-method 指定特定的值,否则工具不予执行。
1 判断各种参数,是否符合操作条件
2 创建一个和原表一样的空表结构(tmp_table)
3 执行表结构修改,然后从原表中copy数据到上面创建的新表中
4 在原表上创建3个触发器(名称格式为pt_osc_库名_表名_操作类型),当copy 数据的过程中,把原表的更新操作更新到新表 (注意:如果表中已经定义了触发器这个工具就不能工作了)
CREATE TRIGGER `pt_osc_dba_t_del` AFTER DELETE ON `dba`.`t` FOR EACH ROW DELETE IGNORE FROM `dba`.`_t_new` WHERE `dba`.`_t_new`.`id` <=> OLD.`id`
CREATE TRIGGER `pt_osc_dba_t_upd` AFTER UPDATE ON `dba`.`t` FOR EACH ROW REPLACE INTO `dba`.`_t_new` (`id`, `a`, `b`, `c1`) VALUES (NEW.`id`, NEW.`a`, NEW.`b`, NEW.`c1`)
CREATE TRIGGER `pt_osc_dba_t_ins` AFTER INSERT ON `dba`.`t` FOR EACH ROW REPLACE INTO `dba`.`_t_new` (`id`, `a`, `b`, `c1`) VALUES (NEW.`id`, NEW.`a`, NEW.`b`, NEW.`c1`)
5 copy 完成以后,用rename table 新表代替原表,默认删除原表 (可以指定参数不删除原表操作)
6 删除触发器
这里要注意的是。。如果是小表。。直接在主上添加了
深圳@邱治军 mysql 中文网 9:46:41

大表要结合业务和时间点考虑是否在主上还是先在从上添加

 

 这个工具只能用在percona DB吗
深圳@邱治军 mysql中文网群2015/5/29 10:14:02
没啊
mysql percona mariadb都支持
只要是mysql版本
这工具要维护表的时候最适用了
定期整理mysql innodb 表碎片   你刚才说在线加字段,需要有前提条件
前提条件是什么
深圳@邱治军 mysql中文网群  10:29:32
没啥
添加主键要注意一下
普通字段没啥   

MySQL5.6在线DDL不锁表(在线添加字段)

标签:

热心网友 时间:2022-04-07 21:19

目前的基本环境:
主DB:192.168.1.101
从DB1:192.168.1.102
从DB2:192.168.1.103(准备在线添加做为从机的mysql数据库)
数据库版本:mysql 5.1.61(select version())
服务器版本:red hat linux 6
注:目前主从正常(show slave statusG),同步的数据库为 login
3台DB server的备份软件(xtrbackup)都已经安装完成
同步的表为innodb引擎的表,不然用xtrabackup还是会锁表
假设环境为:现在login库下的表a,备份的时候插入数据,最终行为5418272
注:思路是备份,可是用mysqlmp备份会锁表,如果数据量很大的话,线上环境肯定不允许使用mysqlmp备份!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 五粮液每股经营现金流为负说明啥 看五粮液的股价,一开始是负的,有好两年,这啥意思? 耳软骨隆鼻作用? 冯雁平耳软骨隆鼻优缺点如何?怎么样 联想t410不能输入数字怎么回事 耳软骨隆鼻有什么缺点哪能改 耳软骨隆鼻后遗症有哪些呢? 耳软骨隆鼻有没有副作用? 求问;老板洗碗机怎么样? 老板洗碗机怎么样?大神说说看 耳软骨隆鼻会有什么危害呢? 老板洗碗机怎么样?跟森歌比哪个更值得购买? 耳软骨隆鼻有什么危害吗? 锐宝丰葵花籽油好不好 老板洗碗机好用么? 耳软骨隆鼻有没有坏处? 老板洗碗机效果怎么样? 面膜袜是天鹅绒吗 我家准备换到新房住了,买洗碗机实用吗?老板洗碗机怎么样啊? 德国有哪些品牌的面膜 我怀孕了,老公还要呢 探着什么填空 怀孕了老公很想要孩子 我又不想要怎么办? 新楼盘是否一定要封顶了才能开盘? 补充句子同学们从什么探着什么看什么? 怎么关电脑防火墙 在上海买房,是需要开发商必须封顶后,购房者才可办理交首付的手续吗?有这样的规定吗? 一只股票的财务指标里“每股经营现金流(元)”为负数,说明什么? 探什么探什么的成语 女人怀孕时,老公还愿意为你做哪些事,是真的宠你入骨了呢? 上海 预售许可证后,多长时间必须开盘 楼盘是不是封顶才能开盘 怀孕了老公还要,怎么做可以要他满足了 什么样的楼房才能具备开盘的条件啊,是不是封顶就可以了啊 探能组什么词? 我怀孕8个半月了,老公还要我帮他泡面给他吃,给他洗毛巾,送到他面前给他洗脸,擦手。这样的人怎么说? 楼房盖到什么程度才能开盘能交首付? 一个字是探的组词有什么 一张移动手机卡能用多长时间? 探究的探能组什么词