質問

I have mysql version 5.6.10 on one server A where I am creating and populating the myisam table. The created table has int, varchar and datetime fields. When I rsync this table from server A to server B (which has mysql 5.5.10) I get the following error ERROR 1033 (HY000): Incorrect information in file: test1.frm

For tables without datetime field this process does not give any error. Even when I take the dump for the table from server A and run it on server B it works fine.

Is there any issue with Mysql 5.6.10 version ? How can I resolve this issue ? I cannot afford to take mysqldump for all my tables as it would impact the performance.

役に立ちましたか?

解決

Unfortunately this is mentioned in upgrade notes to MySQL 5.6

Incompatible change: For TIME, DATETIME, and TIMESTAMP columns, the storage required for tables created before MySQL 5.6.4 differs from storage required for tables created in 5.6.4 and later. This is due to a change in 5.6.4 that permits these temporal types to have a fractional part. After upgrading from MySQL 5.5 to MySQL 5.6.4 or later, it is recommended that you also upgrade from MySQL 5.5 to MySQL 5.6 TIME, DATETIME, and TIMESTAMP types. ALTER TABLE currently allows the creation of tables containing temporal columns in both MySQL 5.5 and MySQL 5.6.4 (or later) binary format but this makes it more difficult to recreate tables in cases where .frm files are not available. Additionally, as of MySQL 5.6.4, the aforementioned temporal types are more space efficient. For more information about changes to temporal types in MySQL 5.6.4, see the section called “ Storage Requirements for Date and Time Types ”.

There is also mentioned workaround to get from 5.5 to 5.6 using Memory storage, but it says nothing about downgrading.

Only advice available is from http://bugs.mysql.com/bug.php?id=71381.

The only option I see here is to do a dump on the 5.6 of the tables with these temporal columns on 5.6 and then importing them in 5.5

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top