Answers.Body: <p>Good question. There's some discussion <a href="https://lab.civicrm.org/dev/core/issues/339" rel="nofollow noreferrer">here</a> 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.</p>
  
  <p>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: <code>innodb_large_prefix=true</code>.</p>
  
  <p>Also need:</p>
  
  <p><code>innodb_file_format=barracuda</code></p>
  
  <p><code>innodb_file_per_table=true</code></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-07T03:03:04.237Z
Answers.Text: 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.
Answers.UserDisplayName: Karl Rudnick
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-06T21:35:23.783Z
Answers.LastActivityDate: 2019-05-06T21:35:23.783Z
Answers.UserDisplayName: Demerit
Answers.Body: <p>Circling back almost 2 years later. Our MySQL server now is running 5.7.1 with settings innodb_large_prefix | ON; innodb_file_format | Barracuda; innodb_file_per_table | ON. I actually used the System API from the shell to convert from utf8 to utf8mb4:</p>
  <pre><code>cv api System.utf8conversion
  </code></pre>
  <p>That converted all but one extension table, which I easily converted using phpMyAdmin. This time there are no error messages in CiviCRM status and nothing in our error logs.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-02-08T17:22:51.387Z
Answers.LastActivityDate: 2021-02-08T17:32:18.673Z
Answers.LastEditDate: 2021-02-08T17:32:18.673Z
Answers.UserDisplayName: Karl Rudnick
Body: <p>I now get the following warning under CiviCRM Status:</p>
  
  <blockquote>
    <p>Future versions of CiviCRM may require MySQL utf8mb4 support. It is
    recommended, though not yet required, to configure your MySQL server
    for utf8mb4 support...</p>
  </blockquote>
  
  <p>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 ;)</p>
  
Tags: <database>
Title: Correct database collation recommendation
ThreadText: # Correct database collation recommendation
  
  (Asked by: username_0 on 2019-05-06)
  
  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 ;)
  
  **Tags:** database
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2019-05-06. Score: 2
  
  Good question. There's some discussion [here](https://lab.civicrm.org/dev/core/issues/339) 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`
  
  > **Comments:**
  > **username_0**: 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.  
  
  ---
  
  ### Answer by username_0 on 2021-02-08. Score: 1
  
  Circling back almost 2 years later. Our MySQL server now is running 5.7.1 with settings innodb_large_prefix | ON; innodb_file_format | Barracuda; innodb_file_per_table | ON. I actually used the System API from the shell to convert from utf8 to utf8mb4:
  cv api System.utf8conversion
  
  That converted all but one extension table, which I easily converted using phpMyAdmin. This time there are no error messages in CiviCRM status and nothing in our error logs.
  
  
  ---
  
  