Bug #115343 character set of internal data dictionary table is still utf8mb3
Submitted: 14 Jun 23:33 Modified: 17 Jun 8:03
Reporter: Chelluru Vidyadhar Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Data Dictionary Severity:S3 (Non-critical)
Version:8.4.0 OS:Any
Assigned to: CPU Architecture:Any

[14 Jun 23:33] Chelluru Vidyadhar
Description:
As per the documentation, the recommended character set for new application using MySQL is  utf8mb4. Further, utf8mb3 deprecated even its supported for the lifetimes of the MySQL 8.0.x and MySQL 8.4.x LTS release series. 

The internal data dictionary in 8.0 and 8.4 created using utf8mb3 only. 

Even utf8mb3 is still available and not removed, the internal tables are using deprecated character set only. Consider to upgrade all dictionary tables to utf8mb4.

How to repeat:
mysql> show create table mysql.schemata\G
*************************** 1. row ***************************
       Table: schemata
Create Table: CREATE TABLE `schemata` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `catalog_id` bigint unsigned NOT NULL,
  `name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
  `default_collation_id` bigint unsigned NOT NULL,
  `created` timestamp NOT NULL,
  `last_altered` timestamp NOT NULL,
  `options` mediumtext COLLATE utf8mb3_bin,
  `default_encryption` enum('NO','YES') COLLATE utf8mb3_bin NOT NULL,
  `se_private_data` mediumtext COLLATE utf8mb3_bin,
  PRIMARY KEY (`id`),
  UNIQUE KEY `catalog_id` (`catalog_id`,`name`),
  KEY `default_collation_id` (`default_collation_id`),
  CONSTRAINT `schemata_ibfk_1` FOREIGN KEY (`catalog_id`) REFERENCES `catalogs` (`id`),
  CONSTRAINT `schemata_ibfk_2` FOREIGN KEY (`default_collation_id`) REFERENCES `collations` (`id`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC
1 row in set (0.00 sec)

Suggested fix:
Upgrade character set of internal data dictionary from deprecated character set to utf8mb4. As this is not a major change, this can be considered with in the major releases like 8.0.x and 8.4.x
[17 Jun 8:03] MySQL Verification Team
Hello Chelluru,

Thank you for the report and feedback.

regards,
Umesh