• 不影响业务的维护,可以在线执行,先要做好备份
  • 业务不停机,热备份:影响业务的操作,要用到 Percona toolkit
  • 后半夜进行数据库维护, 02:00 - 06:00

image.png
不锁表,在线修改表结构

https://blog.csdn.net/wsk1103/article/details/80960300

alert table的缺点

数据库没有上线,用 alert table修改数据表结构

  • 锁表时间长

image.png

Percona tookit

https://www.percona.com/downloads/percona-toolkit/LATEST/
image.png
image.png

在线修改表原理

mysql性能最高的数据库 Percona mysql
image.png

  • 复制要修改的表,在新表里面做表的结构修改
    • 在原来的表上,创建触发器
    • 只要有原来的表有数据修改,就自动同步到新的表上
    • 把原来的表数据,同步到新的表里面
  • 数据同步完成后,而且原来的表没有数据写入时
  • 原来的表没有数据写入的时候,就会删除原来的表,把新表重命名为原来的表名字
  • 全程没有锁表

percona-toolkit-debuginfo-3.0.13-1.el7.x86_64.zip
percona-toolkit-3.0.13-1.el7.x86_64.zip

  1. # upload to server && install
  2. rpm -ivh *.rpm

安装第三方依赖包
image.png

pt-online-schema-change

image.png

  • —execute 执行数据表的修改

image.png