AndreasW2000 Posted October 9, 2019 Posted October 9, 2019 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
opentype Posted October 9, 2019 Posted October 9, 2019 9 minutes ago, Andreas Wilhelm said: They are running MySQL 5.6.19… Is this the problem? No, that version is fine.
AndreasW2000 Posted October 10, 2019 Author Posted October 10, 2019 That´s promising, as my provider does not give any ETA for MySQL 5.7 So maybe it´s just about adjusting the keylength in the MySQL settings? What would be the correct settings? I did not find any specification details on these aspects from Invision. Andreas
AndreasW2000 Posted October 11, 2019 Author Posted October 11, 2019 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
sudo Posted October 11, 2019 Posted October 11, 2019 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.
bfarber Posted October 14, 2019 Posted October 14, 2019 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.
AndreasW2000 Posted October 15, 2019 Author Posted October 15, 2019 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
opentype Posted October 15, 2019 Posted October 15, 2019 It doesn’t need certain values, but the correct values matching your database. But we don’t know your conf setting nor your database. As bfarber said, just open a ticket so IPS can sort this out on your server.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.