I am running MySQL 5.7.19 in RDS and recently went through a conversion of everything to Character Set = UTF8MB4 and Collation = UTF8MB4_unicode_ci. I set the following parameter group settings and rebooted:
character_set_client = utf8mb4 character_set_connection = utf8mb4 character_set_database = utf8mb4 character_set_results = utf8mb4 character_set_server = utf8mb4 collation_connection = utf8mb4_unicode_ci collation_server = utf8mb4_unicodel_ci
My goals were: for one to provide consistency on all databases, tables and columns. Second to stop requiring developers to specify character_set and collation when creating tables.
The problem I am running into is that when I look into the information_schema.collations table, utf8mb4_general_ci is still set to IS_DEFAULT yes. So when one of our servers connects and creates a temp table it's set up as utf8mb4_general_ci rather than utf8mb4_unicode_ci, unless they specify it in table creation, which I wan to avoid. In addition when I run show variables like 'coll%' I get the following:
collation_connection utf8_general_ci collation_database utf8mb4_unicode_ci collation_server utf8mb4_unicode_ci
Which is the same problem, just on my laptop vs the server. Has anyone run into this and solved it?