Mercurial > repos > other > Puppet
view modules/website/manifests/mysql.pp @ 344:3a104df81e44
Make sure php-fpm daemon isn't started while we're not using it
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 12 Jul 2020 19:54:02 +0100 |
parents | 48b154d5ea53 |
children | df5ad1612af7 |
line wrap: on
line source
class website::mysql ( $mysqluser, $mysqlpassword, $mysqlsuffix = '', $phpsuffix = '', $phpmysqlsuffix = '', $mysqlprefix = 'mysql') { class { 'mysql::client': package_name => "${mysqlprefix}${mysqlsuffix}", bindings_enable => false, #Deal with bindings manually } class { 'mysql::bindings': php_enable => true, php_package_name => "php${phpsuffix}-mysql${phpmysqlsuffix}", } $mysqld_base_settings = { 'query_cache_size' => '64M', 'join_buffer_size' => '524288', #512K 'tmp_table_size' => '64M', 'max_heap_table_size' => '64M', 'table_open_cache' => '64', 'log-queries-not-using-indexes' => '1', # Set a sensible default character set 'character-set-server' => 'utf8', 'collation-server' => 'utf8_general_ci', # Settings for best MySQL 4-byte Unicode support 'innodb_file_per_table' => '1', } if $operatingsystem == 'CentOS' and versioncmp($operatingsystemrelease, '8') >= 0 { $mysqld_settings = $mysqld_base_settings } else { $mysqld_settings = $mysqld_base_settings + { 'innodb_file_format' => 'barracuda', 'innodb_large_prefix' => 'true', } } class { 'mysql::server': package_name => "${mysqlprefix}${mysqlsuffix}-server", override_options => { 'mysqld' => $mysqld_settings }, } $username = strip($mysqluser) $password = strip($mysqlpassword) $configured_marker = "/etc/.${mysqlprefix}.is-configured" exec { 'Rename root MySQL user for security': command => "mysql -uroot -e 'UPDATE mysql.user SET User = \"$username\", Password = PASSWORD(\"$password\") WHERE User = \"root\"; DELETE FROM mysql.user WHERE User = \"\"; FLUSH PRIVILEGES;' && touch $configured_marker", provider => shell, creates => $configured_marker, require => Class['mysql::server'], } }