aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Schultz <aschultz@redhat.com>2017-02-03 18:18:42 +0000
committerAlex Schultz <aschultz@redhat.com>2017-02-03 19:50:08 +0000
commita0983a4ed743e9d0ca152c29303cce73a1ca5113 (patch)
treed6a11a7737e45124e7ff422525ddd1cd5d8e04a7
parent3f7e74ab24bb43f9ad7e24e0efd4206ac6a3dd4e (diff)
Revert "Revert "set innodb_file_per_table to ON for MySQL / Galera""
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
-rw-r--r--manifests/profile/base/database/mysql.pp15
-rw-r--r--manifests/profile/pacemaker/database/mysql.pp1
-rw-r--r--releasenotes/notes/innodb_file_per_table-f925b3bbf29d44ea.yaml20
3 files changed, 29 insertions, 7 deletions
diff --git a/manifests/profile/base/database/mysql.pp b/manifests/profile/base/database/mysql.pp
index 4ccfabc..d3c3f21 100644
--- a/manifests/profile/base/database/mysql.pp
+++ b/manifests/profile/base/database/mysql.pp
@@ -119,13 +119,14 @@ class tripleo::profile::base::database::mysql (
# 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)
diff --git a/manifests/profile/pacemaker/database/mysql.pp b/manifests/profile/pacemaker/database/mysql.pp
index 6a83f10..ca9a1a8 100644
--- a/manifests/profile/pacemaker/database/mysql.pp
+++ b/manifests/profile/pacemaker/database/mysql.pp
@@ -75,6 +75,7 @@ class tripleo::profile::pacemaker::database::mysql (
'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,
diff --git a/releasenotes/notes/innodb_file_per_table-f925b3bbf29d44ea.yaml b/releasenotes/notes/innodb_file_per_table-f925b3bbf29d44ea.yaml
new file mode 100644
index 0000000..e0b7c3c
--- /dev/null
+++ b/releasenotes/notes/innodb_file_per_table-f925b3bbf29d44ea.yaml
@@ -0,0 +1,20 @@
+---
+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.