3

I now get the following warning under CiviCRM Status:

Future versions of CiviCRM may require MySQL utf8mb4 support. It is recommended, though not yet required, to configure your MySQL server for utf8mb4 support...

Currently our database uses the collation utf8_unicode_ci for all CiviCRM tables. I can change the collation easily in phpMyAdmin. There are a number of utf8mb4... collations available. I was thinking of just switching to utf8mb4_unicode_ci. Is that the correct thing to do? Will it make the system status warning go away? Should I put our website in maintenance mode for the switch? Thanks for any advice. I don't do much with MySQL details like this and any hand-holding is appreciated ;)

2

Good question. There's some discussion here about utf8mb4_unicode_520_ci or utf8mb4_0900_ai_ci, but there's maybe some issues with that since at the moment in the associated changes it seems to be staying at utf8_unicode_ci. But it might change.

But the warning might be due to your global settings. In order to support this you need barracuda format available and some innodb settings. Most likely this one is not the default in your install: innodb_large_prefix=true.

Also need:

innodb_file_format=barracuda

innodb_file_per_table=true

  • Thanks, those extra innodb_ commands are also noted in the CiviCRM status message details, so good to know. I tried just changing the char set on a test instance on the same MySQL server and got an error in civicrm_cache about a key being too large, so that is propably a result of the MySQL 5.6 (instead of 5.7) configuration on that server. I can be patient until it's absolutely required, at which point I can upgrade our MySQL configuration. – Karl Rudnick May 7 at 3:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.