This reverts commit
3f7e74ab24bb43f9ad7e24e0efd4206ac6a3dd4e.
After identifying how to workaround the performance issues on the
undercloud, let's put this back in. Enabling innodb_file_per_table is
important for operators to be able to better manage their databases.
Change-Id: I435de381a0f0e3ef221e498f442335cdce3fb818
Depends-On: I77507c638237072e38d9888aff3da884aeff0b59
Closes-Bug: #
1660722
# MysqlNetwork and ControllerHostnameResolveNetwork in ServiceNetMap
$mysql_server_default = {
'mysqld' => {
- 'bind-address' => $bind_address,
- 'max_connections' => hiera('mysql_max_connections'),
- 'open_files_limit' => '-1',
- 'ssl' => $enable_internal_tls,
- 'ssl-key' => $tls_keyfile,
- 'ssl-cert' => $tls_certfile,
- 'ssl-ca' => undef,
+ 'bind-address' => $bind_address,
+ 'max_connections' => hiera('mysql_max_connections'),
+ 'open_files_limit' => '-1',
+ 'innodb_file_per_table' => 'ON',
+ 'ssl' => $enable_internal_tls,
+ 'ssl-key' => $tls_keyfile,
+ 'ssl-cert' => $tls_certfile,
+ 'ssl-ca' => undef,
}
}
$mysql_server_options_real = deep_merge($mysql_server_default, $mysql_server_options)
'default-storage-engine' => 'innodb',
'innodb_autoinc_lock_mode' => '2',
'innodb_locks_unsafe_for_binlog'=> '1',
+ 'innodb_file_per_table' => 'ON',
'query_cache_size' => '0',
'query_cache_type' => '0',
'bind-address' => $bind_address,
--- /dev/null
+---
+features:
+ - Enable innodb_file_per_table for MySQL/MariaDB databases
+upgrade:
+ - |
+ Newly created MySQL database tables will be stored in their own datafiles,
+ instead of in a single monolithic ibdata file.
+ - |
+ Existing MySQL database tables that are persisted within the monolithic
+ ibdata file will remain so unless the database is migrated as well.
+ - |
+ Migration of all current database tables out of the monolithic ibdata
+ file is possible by dumping and restoring the whole database to a new data
+ directory, however when using Galera the entire cluster must be shut
+ down and upgraded at once.
+ - |
+ Migration of individual tables to datafiles is possible using the
+ MySQL command "ALTER TABLE <databasename>.<tablename> ENGINE=InnoDB;",
+ however this will not shrink the ibdata file and also is not safe to run
+ on a running Galera cluster for large tables.