Workaround for 'innodb_large_prefix' without super-privileges

Workaround for 'innodb_large_prefix' without super-privileges

Nathan Bonham -
回帖数: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!!!

回复Nathan Bonham

Re: Workaround for 'innodb_large_prefix' without super-privileges

Emma Richardson -
Documentation writers的头像 Particularly helpful Moodlers的头像 Plugin developers的头像

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

回复Nathan Bonham

Re: Workaround for 'innodb_large_prefix' without super-privileges

Ken Task -
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

回复Nathan Bonham

Re: Workaround for 'innodb_large_prefix' without super-privileges

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.

回复Nathan Bonham

Re: Workaround for 'innodb_large_prefix' without super-privileges

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'.

回复Nathan Bonham

Re: Workaround for 'innodb_large_prefix' without super-privileges

Ken Task -
Particularly helpful Moodlers的头像

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

'spirit of sharing', Ken