Mercurial > repos > other > Puppet
view modules/website/manifests/mysql.pp @ 400:f354100b688a
Switch to Ubuntu-standard PHP FPM socket dir
Ubuntu puts /tmp and /run on tmpfs, which gets wiped each reboot.
While these directories *can* be nuked, they aren't on other
platforms.
Using the old paths, Puppet had to recreate the directory each
boot.
Using the new paths, Ubuntu handles creation within the systemd
config.
CentOS should just create once, migrate and work.
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Wed, 20 Apr 2022 19:11:39 +0100 |
parents | 687aa581eef0 |
children | ab9311e91aca |
line wrap: on
line source
class website::mysql ( $mysqluser, $mysqlpassword, $mysqlsuffix = '', $phpsuffix = '', $phpmysqlsuffix = '', $mysqlprefix = 'mysql') { if $osfamily == 'RedHat' { $client_package_suffix = '' } elsif $osfamily == 'Debian' { $client_package_suffix = '-client' } class { 'mysql::client': package_name => "${mysqlprefix}${mysqlsuffix}${client_package_suffix}", 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 + { 'innodb_file_format' => 'barracuda', 'innodb_large_prefix' => 'true', } } else { $mysqld_settings = $mysqld_base_settings } 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 'GRANT ALL ON *.* TO \"$username\"@\"localhost\" IDENTIFIED BY \"$password\"; DELETE FROM mysql.user WHERE User = \"root\" AND plugin != \"unix_socket\"; DELETE FROM mysql.user WHERE User = \"\"; FLUSH PRIVILEGES;' && touch $configured_marker", provider => shell, creates => $configured_marker, require => Class['mysql::server'], } }