# Install MySQL client utilities. # class mysql::client { package { "mysql": ensure => installed, } } # Install MySQL server # class mysql::server { package { "mysql-server": ensure => installed, } service { "mysqld": ensure => running, enable => true, require => Package["mysql-server"], } file { "/etc/my.cnf": ensure => present, source => [ "puppet:///files/mysql/my.cnf.${hostname}", "puppet:///files/mysql/my.cnf", "puppet:///mysql/my.cnf", ], mode => 0644, owner => root, group => root, require => Package["mysql-server"], notify => Service["mysqld"], } file { "/etc/logrotate.d/mysql": ensure => present, source => "puppet:///mysql/mysql.logrotate", mode => 0644, owner => root, group => root, require => Package["mysql-server"], } file { "/var/lib/mysql": ensure => directory, mode => 0700, owner => mysql, group => mysql, require => Package["mysql-server"], } } # Install MySQL status reporting. # class mysql::server::report { package { "mysqlreport": ensure => installed, } file { "/var/log/mysql-report": ensure => directory, mode => 0644, owner => root, group => root, require => Package["mysql-server"], } file { "/etc/cron.daily/mysql-report": ensure => present, source => "puppet:///mysql/mysql-report.cron", mode => 0755, owner => root, group => root, require => File["/var/log/mysql-report"], } }