Server System Variables cache takes less space and does not use file descriptors, unlike the normal table cache. The minimum value is 400. The default value is based on the following formula, capped to a limit of 2000: MIN(400 + table_open_cache / 2, 2000) For  InnoDB ,  table_definition_cache  acts as a soft limit for the number of open table instances in the  InnoDB  data dictionary cache. If the number of open table instances exceeds the table_definition_cache  setting, the LRU mechanism begins to mark table instances for eviction and eventually removes them from the data dictionary cache. The limit helps address situations in which significant amounts of memory would be used to cache rarely used table instances until the next server restart. The number of table instances with cached metadata could be higher than the limit defined by table_definition_cache , because parent and child table instances with foreign key relationships are not placed on the LRU list and are not subject to eviction from memory. Additionally,  table_definition_cache  defines a soft limit for the number of  InnoDB  file-per- table tablespaces that can be open at one time, which is also controlled by  innodb_open_files . If both  table_definition_cache  and  innodb_open_files  are set, the highest setting is used. If neither variable is set,  table_definition_cache , which has a higher default value, is used. If the number of open tablespace file handles exceeds the limit defined by  table_definition_cache  or innodb_open_files , the LRU mechanism searches the tablespace file LRU list for files that are fully flushed and are not currently being extended. This process is performed each time a new tablespace is opened. If there are no “inactive”  tablespaces, no tablespace files are closed. The table definition cache exists in parallel with the table definition cache partition of the dictionary object cache. Both caches store table definitions but serve different parts of the MySQL server. Objects in one cache have no dependence on the existence objects in the other. For more information, see Section 14.4, “Dictionary Object Cache” . Controls the  TABLE_ENCRYPTION_ADMIN  privilege check that occurs when creating or altering a schema or general tablespace with encryption that differs from the  default_table_encryption setting, or when creating or altering a table with an encryption setting that differs from the default schema encryption. The check is disabled by default. Setting  table_encryption_privilege_check  at runtime requires the  SUPER  privilege. table_encryption_privilege_check  supports  SET PERSIST  and  SET PERSIST_ONLY  syntax. See Section 5.1.9.3, “Persisted System Variables” . For more information, see Defining an Encryption Default for Schemas and General Tablespaces. 898 • table_encryption_privilege_check Command-Line Format --table-encryption-privilege- check[={OFF|ON}] Introduced 8.0.16 System Variable table_encryption_privilege_check Scope Global Dynamic Yes SET_VAR  Hint Applies No Type Boolean Default Value OFF