Workaround for 'innodb_large_prefix' without super-privileges

Workaround for 'innodb_large_prefix' without super-privileges

by Nathan Bonham -
Number of replies: 5

HELP!!!  When installing Moodle 3.3.2+, I get the following error:


I am on shared hosting and do not have super privileges to change the global settings.  What can I do to get around this?  It would be a shame not to have the latest version simply because my database will not allow emojis.  

And please, speak in simple terms/instructions as I am new to this.

Thanks in advance!!!

Average of ratings: -
In reply to Nathan Bonham

Re: Workaround for 'innodb_large_prefix' without super-privileges

by Emma Richardson -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Plugin developers

You have to talk to your host.  If they will not allow it, then you will need to upgrade to a VPS.

In reply to Nathan Bonham

Re: Workaround for 'innodb_large_prefix' without super-privileges

by Ken Task -
Picture of Particularly helpful Moodlers

Don't think there is a work-around for it.

Realize this response doesn't solve your problem but ...

Here's a thought ... why is provider allowing users to install or attempt upgrade to an existing Moodle IF the requirements for DB changes mean super user priv's?   Sounds like provider might not be 'moodle friendly' enough.

Another throught ... question to ask of your provider.   Can a customer have shared hosting plan (just for the code and data) *and* opt to run a dedicated DB server where customer could then be 'super user' and make such changes the DB for Moodle?   That would cost more and present you with a learning curve, but might be cheaper than the only solution available to you at this time ... which is a VPS.

If they won't do that, then Emma is 100% correct ... only alternative is to upgrade to a VPS.

'spirit of sharing', Ken

In reply to Nathan Bonham

Re: Workaround for 'innodb_large_prefix' without super-privileges

by Nathan Bonham -

In the documentation at: https://docs.moodle.org/32/en/MySQL_full_unicode_support ,it says the following:

To summarise:

  • Fresh installs of Moodle 3.1.5 and 3.2.2 onwards will use utf8mb4 by default, if the database server is configured appropriately (see below).
  • Sites upgrading to Moodle 3.1.5 or 3.2.2 can use the script to update to utf8mb4. In Moodle 3.3 a warning will show that the database isn't using full UTF-8 support and suggest moving to 'utf8mb4_unicode_ci', but you may choose to keep using 'utf8_*'.
When I install 3.3 it is giving me a red check error and won't proceed.  It is not giving me the option to "keep using 'utf8_*'.

Am I missing something?  I can't believe there is this much trouble for the use of emojis.

In reply to Nathan Bonham

Re: Workaround for 'innodb_large_prefix' without super-privileges

by Nathan Bonham -

Ok, I found a workaround for others who might be having this problem on shared web hosting.  I installed Moodle 3.0.10 first and then upgraded to 3.3.2.  This avoided the fatal error of not having large_prefix set to 'on'.

Average of ratings: Useful (2)
In reply to Nathan Bonham

Re: Workaround for 'innodb_large_prefix' without super-privileges

by Ken Task -
Picture of Particularly helpful Moodlers

Congrats!   Tricky you! ;)  Might share where you host if you hadn't before. ;)

'spirit of sharing', Ken