MySQL5.6在线DDL需要注意的问题
来源:互联网 发布:linux集群搭建报告 编辑:程序博客网 时间:2024/04/30 04:20
背景: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
0 0
- MySQL5.6在线DDL需要注意的问题
- mysql5.6在线DDL修改字段测试
- MySQL5.6在线DDL不锁表(在线添加字段)
- rails3.0.5 连接MySQL5.1需要注意的问题
- MySQL5.6版本InnoDB存储引擎在线DDL变更的官方信息中文翻译版
- MySQL5.6版本InnoDB存储引擎在线DDL变更的官方信息
- mysql5.6 乱码问题的几个注意
- MySQL5.6在线表结构变更(online ddl)总结
- 需要注意的问题
- 需要注意的问题
- Mysql5.6 借助工具pt-online-schema-change在线DDL(还有加索引)
- mySQL5.0.21安装注意的问题
- mysql5.7安装两个需要注意的地方
- mysql5.5.56.zip注册服务需要注意的事
- 需要注意的小问题
- 使用需要注意的问题
- toArray()需要注意的问题
- 上班需要注意的问题
- 安卓gson-fomat 插件 根据json自动生成实体类
- 企业上架发布-工作中遇到的一点问题
- 安卓 RecyclerView
- 第四天2017/03/31(下午1:结构体、数组)
- Ubuntu 配置jdk
- MySQL5.6在线DDL需要注意的问题
- Ubuntu 开启桌面小图标
- 图片网址
- JNDI DataSource案例
- git通过命令本地代码上传github
- 【活动】一杯云雾 品味春意
- 安卓代码段--传递Bundle数据
- 隐式Intent
- okhttp