Specified key was too long during installation

1 year 5 months ago #299341 by counterpoint
Hmmm, I am the host. You're right. The problem is that setting ROW_FORMAT=DYNAMIC is ineffective unless the innodb-file-per-table option is set and in effect.

But where is all this documented? I've looked at the Community Builder Technical Requirements page, and all it says about the database is "Joomla 3.x requires MYSQL version 5.1 or better". It refers to the Joomla documentation, but that says nothing more than that the minimum requirement is 5.1.

In fact, I'm running MariaDB 5.5 (which should be wholly compatible with MySQL 5.5) with InnoDB support. But that clearly isn't enough. Indeed, some of the options that you are saying are requirements for Community Builder are not supported in MySQL 5.1. (They are supported in the InnoDB plugin, but that is an advanced option, and is not the standard MySQL 5.1).

It's wasted quite a lot of my time (and some of yours) struggling through these issues. Shouldn't there be proper documentation somewhere describing just what the database requirements really are?
1 year 5 months ago #299364 by krileon
InnoDB is required and is noted in Joomlas technical requirements page (note directly under MySQL).

downloads.joomla.org/technical-requirements

This really wouldn't be an issue if you weren't using utf8mb4 since utf8mb4 is 4 bytes per character instead of 3, which would fit within 767 byte index limit for varchar 255 columns. utf8mb4 being 4 bytes per character of course does not fit within 767 limit. So for example just using utf8 it should work fine.

Regardless innodb_large_prefix is default and standard usage on most hosts as they're using at least MySQL 5.7 typically (which has this all default enabled). It also is standard on self hosting software like Wampserver and XAMPP usages as well. MySQL 5.7 is also like 5 years old so i'm a bit shocked when someone isn't already using it to be honest.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Templates - CBSubs - Hosting - Forge - Incubator - GroupJive
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM EST to 4:00 PM EST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
1 year 5 months ago - 1 year 5 months ago #299377 by counterpoint
And, as I said, InnoDB is supported on my database server. None of what you say alters the fact that my database server exceeds the minimum requirements stated by both Community Builder and Joomla.

The database is utf8mb4 for no other reason than that Joomla seems to be pushing that way, for better or worse. See for example issues.joomla.org/tracker/joomla-cms/8472 .

I could easily enough convert to utf8, but you didn't mention that until now. It was stated that the DB was utf8mb4 in my initial post.

Nobody can use "at least MySQL 5.7" because there is no GA release beyond 5.7. Your history is substantially adrift. MySQL 5.7 went GA in October 2015, which makes it a lot less than five years old. Looking at a few hosts, SIteground appears to have moved to MySQL 5.6 around eighteen months ago, SFAIK that's where they still are. Hostgator's web site says that their shared hosting uses MySQL 5.5. Both 5.5 and 5.6 remain supported releases. A number of web hosts are using MariaDB (now the default database option in a number of Linux distributions), probably on a variety of releases.

At present I do not wish to move beyond 5.5 for the simple reason that I run a shared database that supports a number of web sites at different stages of technology. There is also the consideration that a move beyond 5.5 requires a decision between MySQL and MariaDB since the two systems are no longer wholly compatible after 5.5. It is probable that my DB server will move to MariaDB 10.2 over the next few months as the client web sites catch up with technology.

But, I would emphasise that the point I am making is that where you have a page stating what the technical requirements are for Community Builder, it should contain an accurate statement that is complete enough to ensure that the system will work. That would save everyone time.
1 year 5 months ago #299381 by krileon
There is nothing more to add to our technical requirements. You're using utf8mb4, which pushes the per character byte limit to 4 instead of 3 putting you past the 767 limit for varchar 255 columns. Either don't use utf8mb4 (use utf8_general_ci) or properly configure innodb_large_prefix. The average person isn't going to even have a clue what all this means if put into our technical requirements, which are no different than Joomlas.

Joomla uses utf8mb4 if available, but doesn't bother to check that the index size can even be supported (which results in failed Joomla updates/installs). CB will use whatever Joomla is using. Your issue is with Joomla forcing utf8mb4 when it can't even utilize it.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Templates - CBSubs - Hosting - Forge - Incubator - GroupJive
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM EST to 4:00 PM EST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
The following user(s) said Thank You: nant
Moderators: beatnantkrileon
Time to create page: 0.385 seconds
Facebook Twitter Google LinkedIn