首页 > 数据库技术 > 详细

mysql_upgrade升级的坑

时间:2020-07-16 17:55:20      阅读:50      评论:0      收藏:0      [点我收藏+]

 

通过mysql_upgrade 将MySQL 5.5.34 升级为 5.6.31 版本,发现了一些问题:

问题1:增加普通索引的时候,依然堵塞DML语句,理论上MySQL 5.6 支持在线DDL,增加普通索引不会阻塞DML。

原因:5.6.4之前的格式的时间列(TIME,DATETIME和TIMESTAMP列,不支持小数秒精度),升级成5.6后,执行ALTER TABLE会隐式升级,而升级此类列需要重建表,所以阻塞了DML。

解决方式:

  1. 等ALTER TABLE执行完,下次就不用重建表了。
  2. 开启 set global avoid_temporal_upgrade=on;  它会使ALTER TABLE不重建临时列。但是官方不推荐使用这个参数,以后会删除。

 

 

 

 

升级建议:

  大版本升级还是使用逻辑升级,mysqldump这种导入导出比较好,避免意外,就是太慢了。

 

mysql_upgrade升级的坑

原文:https://www.cnblogs.com/9527l/p/13323454.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!