Chinaunix首页 | 论坛 | 博客
  • 博客访问: 308312
  • 博文数量: 33
  • 博客积分: 586
  • 博客等级: 中士
  • 技术积分: 494
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-27 14:05
个人简介

衡铁刚 1)2011-2013:Alibaba MySQL DBA 2)2014-至今: Alibaba 数据库PD

文章分类

全部博文(33)

文章存档

2016年(1)

2015年(10)

2013年(5)

2012年(17)

我的朋友

分类: Mysql/postgreSQL

2012-10-08 22:44:43

使用5.1mysqldump出来的备份集source恢复到5.5上,报错can not create table 'a' (errno:1478)

  • 经排查发现建表语句ENGINE ROW_FORMAT不符

CREATE TABLE `a` (

)ENGINE=InnoDB  ROW_FORMAT=FIXED ;



  • ENGINE ROW_FORMAT的对应关系

ENGINE

ROW_FORMAT(default)

ROW_FORMAT

ROW_FORMAT

InnoDB 

COMPACT

REDUNDANT

COMPRESSED

MyISAM 

Fixed

DYNAMIC 

 




  •  innodb_strict_mode参数测试
    • innodb_strict_mode=0,create table warning->success



root@db1 11:41:45>show table status like '%a%'\G;



*************************** 1. row ***************************



           Name: a



         Engine: InnoDB



        Version: 10



     Row_format: Compact



           Rows: 21509



Avg_row_length: 122



    Data_length: 2637824



Max_data_length: 0



   Index_length: 2457600



      Data_free: 4194304



Auto_increment: 24081



    Create_time: 2012-08-31 23:23:16



    Update_time: NULL



     Check_time: NULL



      Collation: gbk_chinese_ci



       Checksum: NULL



Create_options: row_format=FIXED



    • innodb_strict_mode=1,create table error->failure



  • 解决方案:source文件前set global  innodb_strict_mode=0;完毕后set global  innodb_strict_mode=1;



阅读(1465) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~