MySQL Collation Repair: Database Level Changes

Still need help?

The Atlassian Community is here for you.

Ask the community

This document is part of the guide on How to Fix the Collation and Character Set of a MySQL Database. Please refer to that page for more information.

Table of Contents

Which collation can you use?

Not all versions of Confluence support utf8mb4 (which provides support for 4-btye characters). You may need to use utf8.

Can use utf8mb4 Must use utf8
  • Confluence 7.3 and later, running on MySQL 5.7.9 or later
  • Confluence 7.2 and earlier
  • Any Confluence versions running on MySQL 5.6

Before Proceeding

Before proceeding, ensure that you:

  • Have shut down Confluence
  • Have completed a full database backup

You may also wish to apply these changes in a test environment before applying them to production.

Identifying the Collation and Character set of your database

In the example below, change: 

  • <yourDB> to your actual database name
  • <charset> to either utf8 or utf8mb4
  • <collation> to either utf8_bin or utf8mb4_bin

Run the following query:

SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA S
WHERE schema_name = '<yourDB>'
AND 
(
	DEFAULT_CHARACTER_SET_NAME != '<charset>'
	OR
	DEFAULT_COLLATION_NAME != '<collation>'
);

This query will return a list of each database that is not using the correct character set and collation.

Fixing the collation for the database

In the example below, change: 

  • <yourDB> to your actual database name
  • <charset> to either utf8 or utf8mb4
  • <collation> to either utf8_bin or utf8mb4_bin

Run the following query:

ALTER DATABASE <yourDB> CHARACTER SET <charset> COLLATE <collation>

Here's an example:

ALTER DATABASE confluence CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
Last modified on Feb 4, 2020

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.