Bug #80018 Creating ndb_binlog_index is affected by character_set_server.
Submitted: 17 Jan 2016 14:39 Modified: 18 Jan 2016 5:30
Reporter: Meiji Kimura Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Command-line Clients Severity:S3 (Non-critical)
Version:5.5.48, 5.6.28, 5.7.10 OS:Any
Assigned to: CPU Architecture:Any

[17 Jan 2016 14:39] Meiji Kimura
Description:
When using mysql_install_db, that utility use script/mysql_system_tables.sql.

In that script, only ndb_binlog_index don't have characer set.

mysql_system_tables.sql:98:CREATE TABLE IF NOT EXISTS ndb_binlog_index (Position BIGINT UNSIGNED NOT NULL, File VARCHAR(255) NOT NULL, epoch BIGINT UNSIGNED NOT NULL, inserts INT UNSIGNED NOT NULL, updates INT UNSIGNED NOT NULL, deletes INT UNSIGNED NOT NULL, schemaops INT UNSIGNED NOT NULL, orig_server_id INT UNSIGNED NOT NULL, orig_epoch BIGINT UNSIGNED NOT NULL, gci INT UNSIGNED NOT NULL, PRIMARY KEY(epoch, orig_server_id, orig_epoch)) ENGINE=MYISAM;

So that table only affected by character_set_server.

It's not good for (re)create system tables without character_set_server=utf8.

How to repeat:
1. set character_set_server=utf8mb4
2. run mysql_install_db

Suggested fix:
Add 'CHARACTER SET utf8' after DDL of ndb_binlog_index
[18 Jan 2016 5:30] Umesh Shastry
Hello Meiji-San,

Thank you for the report.
Verifying based on SQL script review(Observed in 5.5.48, 5.6.28, 5.7.10).

Thanks,
Umehs