Skip to content
This repository was archived by the owner on Aug 29, 2018. It is now read-only.

Commit 010399e

Browse files
committed
Use uft8mb4 to support 4-byte unicode characters
Bug 1186681 https://bugzilla.redhat.com/show_bug.cgi?id=1186681 The utf8 character encoding in mysql supports unicode characters with 1-3 bytes. 4-byte unicode characters such as emojis require utf8mb4 encoding in mysql.
1 parent 9bf345f commit 010399e

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

Diff for: cartridges/openshift-origin-cartridge-mysql/bin/post_install

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ password=$OPENSHIFT_MYSQL_DB_PASSWORD
1111
# TODO: Should be we running mysql_secure_installation
1212

1313
echo "drop database test;
14-
create database \`${dbname}\` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;" | mysql_context "/usr/bin/mysql -u root -S '$socket_file'" > /dev/null || error 'Failed to create database' 188
14+
create database \`${dbname}\` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;" | mysql_context "/usr/bin/mysql -u root -S '$socket_file'" > /dev/null || error 'Failed to create database' 188
1515

1616
echo "
1717
delete from user;

Diff for: cartridges/openshift-origin-cartridge-mysql/conf/my.cnf.erb

+11
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,18 @@
88
# max_connections -> OPENSHIFT_MYSQL_MAX_CONNECTIONS
99
# ft_min_word_len -> OPENSHIFT_MYSQL_FT_MIN_WORD_LEN
1010
# ft_max_word_len -> OPENSHIFT_MYSQL_FT_MAX_WORD_LEN
11+
# default-character-set -> OPENSHIFT_MYSQL_DEFAULT_CHARACTER_SET
12+
# character-set-server -> OPENSHIFT_MYSQL_CHARACTER_SET_SERVER
13+
# collation-server -> OPENSHIFT_MYSQL_COLLATION_SERVER
14+
# character-set-client-handshake -> OPENSHIFT_MYSQL_CHARACTER_SET_CLIENT_HANDSHAKE
15+
16+
[client]
17+
default-character-set = <%= ENV['OPENSHIFT_MYSQL_DEFAULT_CHARACTER_SET'] ? ENV['OPENSHIFT_MYSQL_DEFAULT_CHARACTER_SET'] : 'utf8mb4' %>
1118

1219
[mysqld]
20+
character-set-server = <%= ENV['OPENSHIFT_MYSQL_CHARACTER_SET_SERVER'] ? ENV['OPENSHIFT_MYSQL_CHARACTER_SET_SERVER'] : 'utf8mb4' %>
21+
collation-server = <%= ENV['OPENSHIFT_MYSQL_COLLATION_SERVER'] ? ENV['OPENSHIFT_MYSQL_COLLATION_SERVER'] : 'utf8mb4_unicode_ci' %>
22+
character-set-client-handshake = <%= ENV['OPENSHIFT_MYSQL_CHARACTER_SET_CLIENT_HANDSHAKE'] ? ENV['OPENSHIFT_MYSQL_CHARACTER_SET_CLIENT_HANDSHAKE'] : 'TRUE' %>
1323
datadir=<%= ENV['OPENSHIFT_MYSQL_DIR'] %>data/
1424
socket=<%= ENV['OPENSHIFT_MYSQL_DB_SOCKET'] %>
1525
# Disable reverse DNS resolving of gear ip BZ#1051348
@@ -61,6 +71,7 @@ max_allowed_packet = 16M
6171

6272
[mysql]
6373
no-auto-rehash
74+
default-character-set = <%= ENV['OPENSHIFT_MYSQL_DEFAULT_CHARACTER_SET'] ? ENV['OPENSHIFT_MYSQL_DEFAULT_CHARACTER_SET'] : 'utf8mb4' %>
6475
# Remove the next comment character if you are not familiar with SQL
6576
#safe-updates
6677

0 commit comments

Comments
 (0)