Skip to content

Instantly share code, notes, and snippets.

@xeoncross
Last active March 4, 2021 18:36
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save xeoncross/2d0503cee10a6374c627f0faaed9ea3f to your computer and use it in GitHub Desktop.
Save xeoncross/2d0503cee10a6374c627f0faaed9ea3f to your computer and use it in GitHub Desktop.
Correctly set MySQL to use utf8 on ubuntu
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# Increase performance
innodb_file_format=barracuda
innodb_file_format_max=barracuda
innodb_file_per_table=1
innodb_large_prefix=1
# Enable for space/memory saving for large tables
#innodb_default_row_format=COMPRESSED
# New default for tables MySQL 5.7+ / MariaDB 10.2+
#innodb_default_row_format=DYNAMIC
@xeoncross
Copy link
Author

Ubuntu 20.04+ (MariaDB 10.3+) seems to finally default to unicode support:

MariaDB [mysql]> SHOW VARIABLES LIKE 'character\_set\_%';
+--------------------------+---------+
| Variable_name            | Value   |
+--------------------------+---------+
| character_set_client     | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database   | utf8mb4 |
| character_set_filesystem | binary  |
| character_set_results    | utf8mb4 |
| character_set_server     | utf8mb4 |
| character_set_system     | utf8    |
+--------------------------+---------+
7 rows in set (0.001 sec)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment