InnoDB Startup Configuration The  innodb_undo_directory  variable defines the path where  InnoDB  creates default undo tablespaces. If that variable is undefined, default undo tablespaces are created in the data directory. The innodb_undo_directory  variable is not dynamic. Configuring it requires restarting the server. The I/O patterns for undo logs make undo tablespaces good candidates for SSD storage. For information about configuring additional undo tablespaces, see Section 15.6.3.4, “Undo Tablespaces” . The global temporary tablespace stores rollback segments for changes made to user-created temporary tables. A single auto-extending global temporary tablespace data file named  ibtmp1  in the innodb_data_home_dir  directory by default. The initial file size is slightly larger than 12MB. The  innodb_temp_data_file_path  option specifies the path, file name, and file size for global temporary tablespace data files. File size is specified in KB, MB, or GB by appending K, M, or G to the size value. The file size or combined file size must be slightly larger than 12MB. To specify an alternate location for global temporary tablespace data files, configure the innodb_temp_data_file_path  option at startup. Global Temporary Tablespace Configuration Session Temporary Tablespace Configuration Page Size Configuration In MySQL 8.0.15 and earlier, session temporary tablespaces store user-created temporary tables and internal temporary tables created by the optimizer when  InnoDB  is configured as the on-disk storage engine for internal temporary tables ( internal_tmp_disk_storage_engine=InnoDB ). From MySQL 8.0.16,  InnoDB  is always used as the on-disk storage engine for internal temporary tables. The  innodb_temp_tablespaces_dir  variable defines the location where  InnoDB  creates session temporary tablespaces. The default location is the  #innodb_temp  directory in the data directory. To specify an alternate location for session temporary tablespaces, configure the innodb_temp_tablespaces_dir  variable at startup. A fully qualified path or path relative to the data directory is permitted. The  innodb_page_size  option specifies the page size for all  InnoDB  tablespaces in a MySQL instance. This value is set when the instance is created and remains constant afterward. Valid values are 64KB, 32KB, 16KB (the default), 8KB, and 4KB. Alternatively, you can specify page size in bytes (65536, 32768, 16384, 8192, 4096). The default 16KB page size is appropriate for a wide range of workloads, particularly for queries involving table scans and DML operations involving bulk updates. Smaller page sizes might be more efficient for OLTP workloads involving many small writes, where contention can be an issue when a single page contains many rows. Smaller pages can also be more efficient for SSD storage devices, which typically use small block sizes. Keeping the  InnoDB  page size close to the storage device block size minimizes the amount of unchanged data that is rewritten to disk. MySQL allocates memory to various caches and buffers to improve performance of database operations. When allocating memory for  InnoDB , always consider memory required by the operating system, memory Memory Configuration 3107