Server System Variables In MySQL 8.0.16 and later, on-disk internal temporary tables always use the InnoDB  storage engine; as of MySQL 8.0.16, this variable has been removed and is thus no longer supported. Prior to MySQL 8.0.16, this variable determines the storage engine used for on-disk internal temporary tables (see Storage Engine for On-Disk Internal Temporary Tables). Permitted values are  MYISAM  and INNODB  (the default). The storage engine for in-memory internal temporary tables (see Section 8.4.4, “Internal Temporary Table Use in MySQL” ). Permitted values are  TempTable  (the default) and  MEMORY . The optimizer uses the storage engine defined by  internal_tmp_mem_storage_engine  for in- memory internal temporary tables. As of MySQL 8.0.26, setting the session value of this system variable is a restricted operation. The session user must have privileges sufficient to set restricted session variables. See Section 5.1.9.1, “System Variable Privileges” . 811 • join_buffer_size • internal_tmp_mem_storage_engine Important Command-Line Format --internal-tmp-disk-storage-engine=# Removed 8.0.16 System Variable internal_tmp_disk_storage_engine Scope Global Dynamic Yes SET_VAR  Hint Applies No Type Enumeration Default Value INNODB Valid Values MYISAM INNODB Command-Line Format --internal-tmp-mem-storage-engine=# System Variable internal_tmp_mem_storage_engine Scope Global, Session Dynamic Yes SET_VAR  Hint Applies Yes Type Enumeration Default Value TempTable Valid Values TempTable MEMORY Command-Line Format --join-buffer-size=#