summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 4a61897856d..770890138a2 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -296,7 +296,6 @@ const char *my_localhost= "localhost", *delayed_user= "DELAYED";
bool opt_large_files= sizeof(my_off_t) > 4;
static my_bool opt_autocommit; ///< for --autocommit command-line option
-
/*
Used with --help for detailed option
*/
@@ -4099,6 +4098,8 @@ static int init_common_variables()
test purposes, to be able to start "mysqld" even if
the requested character set is not available (see bug#18743).
*/
+ myf utf8_flag= global_system_variables.old_behavior &
+ OLD_MODE_UTF8_IS_UTF8MB3 ? MY_UTF8_IS_UTF8MB3 : 0;
for (;;)
{
char *next_character_set_name= strchr(default_character_set_name, ',');
@@ -4106,7 +4107,7 @@ static int init_common_variables()
*next_character_set_name++= '\0';
if (!(default_charset_info=
get_charset_by_csname(default_character_set_name,
- MY_CS_PRIMARY, MYF(MY_WME))))
+ MY_CS_PRIMARY, MYF(utf8_flag | MY_WME))))
{
if (next_character_set_name)
{
@@ -4123,7 +4124,7 @@ static int init_common_variables()
if (default_collation_name)
{
CHARSET_INFO *default_collation;
- default_collation= get_charset_by_name(default_collation_name, MYF(0));
+ default_collation= get_charset_by_name(default_collation_name, MYF(utf8_flag));
if (!default_collation)
{
#ifdef WITH_PERFSCHEMA_STORAGE_ENGINE
@@ -4164,7 +4165,7 @@ static int init_common_variables()
if (!(character_set_filesystem=
get_charset_by_csname(character_set_filesystem_name,
- MY_CS_PRIMARY, MYF(MY_WME))))
+ MY_CS_PRIMARY, MYF(utf8_flag | MY_WME))))
return 1;
global_system_variables.character_set_filesystem= character_set_filesystem;
@@ -7485,9 +7486,11 @@ static void print_help()
static void usage(void)
{
DBUG_ENTER("usage");
+ myf utf8_flag= global_system_variables.old_behavior &
+ OLD_MODE_UTF8_IS_UTF8MB3 ? MY_UTF8_IS_UTF8MB3 : 0;
if (!(default_charset_info= get_charset_by_csname(default_character_set_name,
MY_CS_PRIMARY,
- MYF(MY_WME))))
+ MYF(utf8_flag | MY_WME))))
exit(1);
if (!default_collation_name)
default_collation_name= (char*) default_charset_info->name;