Jump to content

MySQL Problem with Upgrade from 3.4 to 4.4 - MySQL problem?


AndreasW2000

Recommended Posts

Hi everyone, I am converting my ipBoard 3.4 to 4.4. (self hosted).

I have checked all settings, they script said they are fine, then I uploaded all files, then I started the /admin/update

The automatic conversion to UTF-8 worked, but when it tries to fix the collations, the operation breaks and throws an error:

"Specified key was too long; max key length is 1000 bytes File: /system/Db/Db.php Line: 198"

Invision support tells me they can´t help me as they don´t support 3.4 anymore, only that it might be a problem with MySQL on my provider´s side. They are running MySQL 5.6.19, - 5.7 not coming any time soon.

Is this the problem? - If so, is there any way to get around it? I cannot finish the upgrade, but only found out about this now, after having overwritten all files on the server already. So I am stuck, with my forum completely screwed up now.

Andreas

Link to comment
Share on other sites

Help ...? 😞

Can someone tell me which setting in MySQL 5.6 would prevent the above error - or better yet whether waiting for MySQL 5.7 would solve this altogether?

At this point I am stuck and will have to ask my provider to roll back the full server, going back to IPB 3.4, but only just buying time until they switch off PHP 5 in the next couple of months and it will stop working. I need to find a way to migrate. Bought 4.4 now and can‘t use it.

😞

Andreas

Link to comment
Share on other sites

Based on https://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-767-bytes

Quote

767 bytes is the stated prefix limitation for InnoDB tables in MySQL version 5.6 (and prior versions). It's 1,000 bytes long for MyISAM tables. In MySQL version 5.7 and upwards this limit has been increased to 3072 bytes.

It sounds like you will need 5.7 onwards for UTF8 usage on your database.

Link to comment
Share on other sites

Usually this is a configuration issue - i.e. your conf_global.php file says you are using MyISAM (so our UTF8 converter assumes it has 1000 bytes to work with for the index prefix lengths) but in reality your table is InnoDB (so there's only 767 bytes to work with). If you submit a ticket, we can assist.

Link to comment
Share on other sites

Thanks! This is good news! So you are saying it could also work with only 767 byte lengths if only it knew? If that‘s the case I wouldn‘t have to wait for MySQL 5.7.

What is the setting which the php conf file needs? I can change that myself fortunately 🙂

Cheers,

Andreas

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...