mysql::bindings
: Parent class for MySQL bindings.mysql::client
: Installs and configures the MySQL client.mysql::server
: Installs and configures the MySQL server.mysql::server::backup
: Create and manage a MySQL backup.
mysql::backup::mysqlbackup
: Manage the mysqlbackup client.mysql::backup::mysqldump
: "Provider" for mysqldumpmysql::backup::xtrabackup
: "Provider" for Percona XtraBackup/MariaBackupmysql::bindings::client_dev
: Private class for installing client development bindingsmysql::bindings::daemon_dev
: Private class for installing daemon development bindingsmysql::bindings::java
: Private class for installing java language bindings.mysql::bindings::perl
: Private class for installing perl language bindings.mysql::bindings::php
: Private class for installing php language bindingsmysql::bindings::python
: Private class for installing python language bindingsmysql::bindings::ruby
: Private class for installing ruby language bindingsmysql::client::install
: Private class for MySQL client install.mysql::params
: Params class.mysql::server::account_security
: Private class for ensuring localhost accounts do not existmysql::server::config
: Private class for MySQL server configuration.mysql::server::install
: Private class for managing MySQL package.mysql::server::installdb
: Builds initial databases on installation.mysql::server::managed_dirs
: Binary log configuration requires the mysql user to be present. This must be done after package install.mysql::server::providers
: Convenience class to call each of the three providers with the corresponding hashes provided in mysql::server.mysql::server::root_password
: Private class for managing the root passwordmysql::server::service
: Private class for managing the MySQL service
mysql::db
: Create and configure a MySQL database.
mysql_database
: Manage a MySQL database.mysql_grant
: Manage a MySQL user's rights.mysql_login_path
: Manage a MySQL login path.mysql_plugin
: Manage MySQL plugins.mysql_user
: Manage a MySQL user. This includes management of users password as well as privileges.
mysql_datadir
: Manage MySQL datadirs with mysql_install_db OR mysqld (5.7.6 and above).
mysql::normalise_and_deepmerge
: Recursively merges two or more hashes together, normalises keys with differing use of dashes and underscores.mysql::password
: Hash a string as mysql's "PASSWORD()" function would do itmysql::strip_hash
: When given a hash this function strips out all blank entries.mysql_password
: DEPRECATED. Use the namespaced functionmysql::password
instead.
Mysql::Options
: A hash of options structured like the override_options, but not merged with the default options.
Parent class for MySQL bindings.
class { 'mysql::bindings':
ruby_enable => true,
ruby_package_ensure => 'present',
ruby_package_name => 'ruby-mysql-2.7.1-1mdv2007.0.sparc.rpm',
ruby_package_provider => 'rpm',
}
The following parameters are available in the mysql::bindings
class:
install_options
java_enable
perl_enable
php_enable
python_enable
ruby_enable
client_dev
daemon_dev
java_package_ensure
java_package_name
java_package_provider
perl_package_ensure
perl_package_name
perl_package_provider
php_package_ensure
php_package_name
php_package_provider
python_package_ensure
python_package_name
python_package_provider
ruby_package_ensure
ruby_package_name
ruby_package_provider
client_dev_package_ensure
client_dev_package_name
client_dev_package_provider
daemon_dev_package_ensure
daemon_dev_package_name
daemon_dev_package_provider
Data type: Optional[Array[String[1]]]
Passes install_options
array to managed package resources. You must pass the appropriate options for the package manager(s).
Default value: undef
Data type: Boolean
Specifies whether ::mysql::bindings::java
should be included. Valid values are true
, false
.
Default value: false
Data type: Boolean
Specifies whether mysql::bindings::perl
should be included. Valid values are true
, false
.
Default value: false
Data type: Boolean
Specifies whether mysql::bindings::php
should be included. Valid values are true
, false
.
Default value: false
Data type: Boolean
Specifies whether mysql::bindings::python
should be included. Valid values are true
, false
.
Default value: false
Data type: Boolean
Specifies whether mysql::bindings::ruby
should be included. Valid values are true
, false
.
Default value: false
Data type: Boolean
Specifies whether ::mysql::bindings::client_dev
should be included. Valid values are true
', false
.
Default value: false
Data type: Boolean
Specifies whether ::mysql::bindings::daemon_dev
should be included. Valid values are true
, false
.
Default value: false
Data type: Variant[Enum['present','absent'], Pattern[/(\d+)[\.](\d+)[\.](\d+)/]]
Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'.
Only applies if java_enable => true
.
Default value: $mysql::params::java_package_ensure
Data type: String[1]
The name of the Java package to install. Only applies if java_enable => true
.
Default value: $mysql::params::java_package_name
Data type: Optional[String[1]]
The provider to use to install the Java package. Only applies if java_enable => true
.
Default value: $mysql::params::java_package_provider
Data type: Variant[Enum['present','absent'], Pattern[/(\d+)[\.](\d+)[\.](\d+)/]]
Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'.
Only applies if perl_enable => true
.
Default value: $mysql::params::perl_package_ensure
Data type: String[1]
The name of the Perl package to install. Only applies if perl_enable => true
.
Default value: $mysql::params::perl_package_name
Data type: Optional[String[1]]
The provider to use to install the Perl package. Only applies if perl_enable => true
.
Default value: $mysql::params::perl_package_provider
Data type: Variant[Enum['present','absent'], Pattern[/(\d+)[\.](\d+)[\.](\d+)/]]
Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'.
Only applies if php_enable => true
.
Default value: $mysql::params::php_package_ensure
Data type: String[1]
The name of the PHP package to install. Only applies if php_enable => true
.
Default value: $mysql::params::php_package_name
Data type: Optional[String[1]]
The provider to use to install the PHP package. Only applies if php_enable => true
.
Default value: $mysql::params::php_package_provider
Data type: Variant[Enum['present','absent'], Pattern[/(\d+)[\.](\d+)[\.](\d+)/]]
Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'.
Only applies if python_enable => true
.
Default value: $mysql::params::python_package_ensure
Data type: String[1]
The name of the Python package to install. Only applies if python_enable => true
.
Default value: $mysql::params::python_package_name
Data type: Optional[String[1]]
The provider to use to install the Python package. Only applies if python_enable => true
.
Default value: $mysql::params::python_package_provider
Data type: Variant[Enum['present','absent'], Pattern[/(\d+)[\.](\d+)[\.](\d+)/]]
Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'.
Only applies if ruby_enable => true
.
Default value: $mysql::params::ruby_package_ensure
Data type: String[1]
The name of the Ruby package to install. Only applies if ruby_enable => true
.
Default value: $mysql::params::ruby_package_name
Data type: Optional[String[1]]
What provider should be used to install the package.
Default value: $mysql::params::ruby_package_provider
Data type: Variant[Enum['present','absent'], Pattern[/(\d+)[\.](\d+)[\.](\d+)/]]
Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'.
Only applies if client_dev => true
.
Default value: $mysql::params::client_dev_package_ensure
Data type: Optional[String[1]]
The name of the client_dev package to install. Only applies if client_dev => true
.
Default value: $mysql::params::client_dev_package_name
Data type: Optional[String[1]]
The provider to use to install the client_dev package. Only applies if client_dev => true
.
Default value: $mysql::params::client_dev_package_provider
Data type: Variant[Enum['present','absent'], Pattern[/(\d+)[\.](\d+)[\.](\d+)/]]
Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'.
Only applies if daemon_dev => true
.
Default value: $mysql::params::daemon_dev_package_ensure
Data type: String[1]
The name of the daemon_dev package to install. Only applies if daemon_dev => true
.
Default value: $mysql::params::daemon_dev_package_name
Data type: Optional[String[1]]
The provider to use to install the daemon_dev package. Only applies if daemon_dev => true
.
Default value: $mysql::params::daemon_dev_package_provider
Installs and configures the MySQL client.
class {'::mysql::client':
package_name => 'mysql-client',
package_ensure => 'present',
bindings_enable => true,
}
The following parameters are available in the mysql::client
class:
bindings_enable
install_options
package_ensure
package_manage
package_name
package_provider
package_source
Data type: Boolean
Whether to automatically install all bindings. Valid values are true
, false
. Default to false
.
Default value: $mysql::params::bindings_enable
Data type: Optional[Array[String[1]]]
Array of install options for managed package resources. You must pass the appropriate options for the package manager.
Default value: undef
Data type: Variant[Enum['present','absent'], Pattern[/(\d+)[\.](\d+)[\.](\d+)/]]
Whether the MySQL package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'.
Default value: $mysql::params::client_package_ensure
Data type: Boolean
Whether to manage the MySQL client package. Defaults to true
.
Default value: $mysql::params::client_package_manage
Data type: String[1]
The name of the MySQL client package to install.
Default value: $mysql::params::client_package_name
Data type: Optional[String[1]]
Specify the provider of the package. Optional. Valid value is a String.
Default value: undef
Data type: Optional[String[1]]
Specify the path to the package source. Optional. Valid value is a String
Default value: undef
Installs and configures the MySQL server.
class { '::mysql::server':
package_name => 'mysql-server',
package_ensure => '5.7.1+mysql~trusty',
root_password => 'strongpassword',
remove_default_accounts => true,
}
The following parameters are available in the mysql::server
class:
config_file
config_file_mode
includedir
install_options
manage_config_file
options
override_options
package_ensure
package_manage
package_name
package_provider
package_source
purge_conf_dir
remove_default_accounts
restart
root_group
managed_dirs
mysql_group
mycnf_owner
mycnf_group
root_password
service_enabled
service_manage
service_name
service_provider
create_root_user
create_root_my_cnf
create_root_login_file
login_file
users
grants
databases
reload_on_config_change
enabled
manage_service
old_root_password
Data type: String[1]
The location, as a path, of the MySQL configuration file.
Default value: $mysql::params::config_file
Data type: String[1]
The MySQL configuration file's permissions mode.
Default value: '0644'
Data type: Optional[String]
The location, as a path, of !includedir for custom configuration overrides.
Default value: $mysql::params::includedir
Data type: Optional[Array[String[1]]]
Passes install_options array to managed package resources. You must pass the appropriate options for the specified package manager
Default value: undef
Data type: Variant[Boolean, String[1]]
Whether the MySQL configuration file should be managed. Valid values are true
, false
. Defaults to true
.
Default value: true
Data type: Mysql::Options
A hash of options structured like the override_options, but not merged with the default options. Use this if you don't want your options merged with the default options.
Default value: {}
Data type: Hash
Specifies override options to pass into MySQL. Structured like a hash in the my.cnf file: See above for usage details.
Default value: {}
Data type: Variant[Enum['present','absent'], Pattern[/(\d+)[\.](\d+)[\.](\d+)/]]
Whether the package exists or should be a specific version. Valid values are 'present', 'absent', or 'x.y.z'. Defaults to 'present'.
Default value: 'present'
Data type: Boolean
Whether to manage the MySQL server package. Defaults to true
.
Default value: true
Data type: String[1]
The name of the MySQL server package to install.
Default value: $mysql::params::server_package_name
Data type: Optional[String[1]]
Define a specific provider for package install.
Default value: undef
Data type: Optional[String[1]]
The location of the package source (require for some package provider)
Default value: undef
Data type: Variant[Boolean, String[1]]
Whether the includedir
directory should be purged. Valid values are true
, false
. Defaults to false
.
Default value: false
Data type: Variant[Boolean, String[1]]
Specifies whether to automatically include mysql::server::account_security
. Valid values are true
, false
. Defaults to false
.
Default value: false
Data type: Variant[Boolean, String[1]]
Whether the service should be restarted when things change. Valid values are true
, false
. Defaults to false
.
Default value: false
Data type: String[1]
The name of the group used for root. Can be a group name or a group ID. See more about the group.
Default value: $mysql::params::root_group
Data type: Optional[Array[String[1]]]
An array containing all directories to be managed.
Default value: $mysql::params::managed_dirs
Data type: String[1]
The name of the group of the MySQL daemon user. Can be a group name or a group ID. See more about the group.
Default value: $mysql::params::mysql_group
Data type: Optional[String[1]]
Name or user-id who owns the mysql-config-file.
Default value: undef
Data type: Optional[String[1]]
Name or group-id which owns the mysql-config-file.
Default value: undef
Data type: Variant[String, Sensitive[String]]
The MySQL root password. Puppet attempts to set the root password and update /root/.my.cnf
with it. This is required
if create_root_user
or create_root_my_cnf
are true. If root_password
is 'UNSET', then create_root_user
and
create_root_my_cnf
are assumed to be false --- that is, the MySQL root user and /root/.my.cnf
are not created.
Password changes are supported; however, the old password must be set in /root/.my.cnf
. Effectively, Puppet uses the old
password, configured in /root/my.cnf
, to set the new password in MySQL, and then updates /root/.my.cnf
with the new password.
Default value: 'UNSET'
Data type: Variant[Boolean, String[1]]
Specifies whether the service should be enabled. Valid values are true
, false
. Defaults to true
.
Default value: true
Data type: Variant[Boolean, String[1]]
Specifies whether the service should be managed. Valid values are true
, false
. Defaults to true
.
Default value: true
Data type: String[1]
The name of the MySQL server service. Defaults are OS dependent, defined in 'params.pp'.
Default value: $mysql::params::server_service_name
Data type: Optional[String[1]]
The provider to use to manage the service. For Ubuntu, defaults to 'upstart'; otherwise, default is undefined.
Default value: $mysql::params::server_service_provider
Data type: Boolean
Whether root user should be created. Valid values are true
, false
. Defaults to true
.
This is useful for a cluster setup with Galera. The root user has to be created only once.
You can set this parameter true on one node and set it to false on the remaining nodes.
Default value: true
Data type: Boolean
Whether to create /root/.my.cnf
. Valid values are true
, false
. Defaults to true
.
create_root_my_cnf
allows creation of /root/.my.cnf
independently of create_root_user
.
You can use this for a cluster setup with Galera where you want /root/.my.cnf
to exist on all nodes.
Default value: true
Data type: Boolean
Whether to create a login file for root. Valid values are 'true', 'false'.
Default value: false
Data type: Optional[String[1]]
Specify the login file.
Default value: undef
Data type: Hash
Optional hash of users to create, which are passed to mysql_user.
Default value: {}
Data type: Hash
Optional hash of grants, which are passed to mysql_grant.
Default value: {}
Data type: Hash
Optional hash of databases to create, which are passed to mysql_database.
Default value: {}
Data type: Boolean
By default, a my.cnf change won't reload/restart the database. Turn this flag to true to enable it
Default value: false
Data type: Optional[Variant[String[1], Boolean]]
Deprecated
Default value: undef
Data type: Optional[Variant[String[1], Boolean]]
Deprecated
Default value: undef
Data type: Optional[Variant[String, Sensitive[String]]]
This parameter no longer does anything. It exists only for backwards compatibility.
See the root_password
parameter above for details on changing the root password.
Default value: undef
Create and manage a MySQL backup.
class { 'mysql::server':
root_password => 'password'
}
class { 'mysql::server::backup':
backupuser => 'myuser',
backuppassword => 'mypassword',
backupdir => '/tmp/backups',
}
class { 'mysql::server':
root_password => 'password'
}
class { 'mysql::server::backup':
backupmethod => 'mariabackup',
backupmethod_package => 'mariadb-backup'
provider => 'xtrabackup',
backupdir => '/tmp/backups',
}
The following parameters are available in the mysql::server::backup
class:
backupuser
backuppassword
backupdir
backupdirmode
backupdirowner
backupdirgroup
backupcompress
backupmethod
backup_success_file_path
backuprotate
ignore_events
delete_before_dump
backupdatabases
file_per_database
include_routines
include_triggers
incremental_backups
ensure
time
prescript
postscript
execpath
provider
maxallowedpacket
optional_args
install_cron
compression_command
compression_extension
backupmethod_package
excludedatabases
Data type: Optional[String[1]]
MySQL user to create with backup administrator privileges.
Default value: undef
Data type: Optional[Variant[String, Sensitive[String]]]
Password to create for backupuser
.
Default value: undef
Data type: Optional[String[1]]
Directory to store backup.
Default value: undef
Data type: String[1]
Permissions applied to the backup directory. This parameter is passed directly to the file resource.
Default value: '0700'
Data type: String[1]
Owner for the backup directory. This parameter is passed directly to the file resource.
Default value: 'root'
Data type: String[1]
Group owner for the backup directory. This parameter is passed directly to the file resource.
Default value: $mysql::params::root_group
Data type: Boolean
Whether or not to compress the backup (when using the mysqldump or xtrabackup provider)
Default value: true
Data type: Optional[String[1]]
The execution binary for backing up. ex. mysqldump, xtrabackup, mariabackup
Default value: undef
Data type: String[1]
Specify a path where upon successfull backup a file should be created for checking purposes.
Default value: '/tmp/mysqlbackup_success'
Data type: Variant[String[1], Integer]
Backup rotation interval in 24 hour periods.
Default value: 30
Data type: Boolean
Ignore the mysql.event table.
Default value: true
Data type: Boolean
Whether to delete old .sql files before backing up. Setting to true deletes old files before backing up, while setting to false deletes them after backup.
Default value: false
Data type: Array[String[1]]
Databases to backup (required if using xtrabackup provider). By default []
will back up all databases.
Default value: []
Data type: Boolean
Use file per database mode creating one file per database backup.
Default value: false
Data type: Boolean
Dump stored routines (procedures and functions) from dumped databases when doing a file_per_database
backup.
Default value: false
Data type: Boolean
Dump triggers for each dumped table when doing a file_per_database
backup.
Default value: false
Data type: Boolean
A flag to activate/deactivate incremental backups. Currently only supported by the xtrabackup provider.
Default value: true
Data type: Variant[Enum['present','absent'], Pattern[/(\d+)[\.](\d+)[\.](\d+)/]]
Default value: 'present'
Data type: Variant[Array[String[1]], Array[Integer]]
An array of two elements to set the backup time. Allows ['23', '5'] (i.e., 23:05) or ['3', '45'] (i.e., 03:45) for HH:MM times.
Default value: ['23', '5']
Data type: Variant[Boolean, String[1], Array[String[1]]]
A script that is executed before the backup begins.
Default value: false
Data type: Variant[Boolean, String[1], Array[String[1]]]
A script that is executed when the backup is finished. This could be used to sync the backup to a central store. This script can be either a single line that is directly executed or a number of lines supplied as an array. It could also be one or more externally managed (executable) files.
Default value: false
Data type: String[1]
Allows you to set a custom PATH should your MySQL installation be non-standard places. Defaults to /usr/bin:/usr/sbin:/bin:/sbin
.
Default value: '/usr/bin:/usr/sbin:/bin:/sbin'
Data type: Enum['xtrabackup', 'mysqldump', 'mysqlbackup']
Sets the server backup implementation. Valid values are: xtrabackup, mysqldump, mysqlbackup
Default value: 'mysqldump'
Data type: String[1]
Defines the maximum SQL statement size for the backup dump script. The default value is 1MB, as this is the default MySQL Server value.
Default value: '1M'
Data type: Array[String[1]]
Specifies an array of optional arguments which should be passed through to the backup tool. (Supported by the xtrabackup and mysqldump providers.)
Default value: []
Data type: Boolean
Manage installation of cron package
Default value: true
Data type: Optional[String[1]]
Configure the command used to compress the backup (when using the mysqldump provider). Make sure the command exists on the target system. Packages for it are NOT automatically installed.
Default value: undef
Data type: Optional[String[1]]
Configure the file extension for the compressed backup (when using the mysqldump provider)
Default value: undef
Data type: String[1]
The package which provides the binary specified by the backupmethod parameter.
Default value: $mysql::params::xtrabackup_package_name
Data type: Array[String]
Give a list of excluded databases when using file_per_database, e.g.: [ 'information_schema', 'performance_schema' ]
Default value: []
Create and configure a MySQL database.
mysql::db { 'mydb':
user => 'myuser',
password => 'mypass',
host => 'localhost',
grant => ['SELECT', 'UPDATE'],
}
The following parameters are available in the mysql::db
defined type:
name
user
password
tls_options
dbname
charset
collate
host
grant
grant_options
sql
enforce_sql
ensure
import_timeout
import_cat_cmd
mysql_exec_path
The name of the database to create. Database names must:
- not be longer than 64 characters.
- not contain '/' '' or '.' characters.
- not contain characters that are not permitted in file names.
- not end with space characters.
Data type: String[1]
The user for the database you're creating.
Data type: Variant[String, Sensitive[String]]
The password for $user for the database you're creating.
Data type: Optional[Array[String[1]]]
The tls_options for $user for the database you're creating.
Default value: undef
Data type: String
The name of the database to create.
Default value: $name
Data type: String[1]
The character set for the database. Must have the same value as collate to avoid corrective changes. See https://dev.mysql.com/doc/refman/8.0/en/charset-mysql.html for charset and collation pairs.
Default value: 'utf8'
Data type: String[1]
The collation for the database. Must have the same value as charset to avoid corrective changes. See https://dev.mysql.com/doc/refman/8.0/en/charset-mysql.html for charset and collation pairs.
Default value: 'utf8_general_ci'
Data type: String[1]
The host to use as part of user@host for grants.
Default value: 'localhost'
Data type: Variant[String[1], Array[String[1]]]
The privileges to be granted for user@host on the database.
Default value: 'ALL'
Data type: Optional[Variant[String[1], Array[String[1]]]]
The grant_options for the grant for user@host on the database.
Default value: undef
Data type: Optional[Array]
The path to the sqlfile you want to execute. This can be an array containing one or more file paths.
Default value: undef
Data type: Boolean
Specifies whether executing the sqlfiles should happen on every run. If set to false, sqlfiles only run once.
Default value: false
Data type: Enum['absent', 'present']
Specifies whether to create the database. Valid values are 'present', 'absent'. Defaults to 'present'.
Default value: 'present'
Data type: Integer
Timeout, in seconds, for loading the sqlfiles. Defaults to 300.
Default value: 300
Data type: Enum['cat', 'zcat', 'bzcat']
Command to read the sqlfile for importing the database. Useful for compressed sqlfiles. For example, you can use 'zcat' for .gz files.
Default value: 'cat'
Data type: Optional[String]
Specify the path in which mysql has been installed if done in the non-standard bin/sbin path.
Default value: undef
Manage a MySQL database.
The following properties are available in the mysql_database
type.
Valid values: %r{^\S+$}
The CHARACTER SET setting for the database
Default value: utf8
Valid values: %r{^\S+$}
The COLLATE setting for the database
Default value: utf8_general_ci
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
The following parameters are available in the mysql_database
type.
namevar
The name of the MySQL database to manage.
The specific backend to use for this mysql_database
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Manage a MySQL user's rights.
The following properties are available in the mysql_grant
type.
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Options to grant.
Privileges for user
Valid values: %r{.*\..*}
, %r{^[0-9a-zA-Z$_]*@[\w%.:\-/]*$}
Table to apply privileges to.
User to operate on.
The following parameters are available in the mysql_grant
type.
namevar
Name to describe the grant.
The specific backend to use for this mysql_grant
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
This type provides Puppet with the capabilities to store authentication credentials in an obfuscated login path file named .mylogin.cnf created with the mysql_config_editor utility. Supports only MySQL Community Edition > v5.6.6.
mysql_login_path { 'local_socket':
owner => 'root',
host => 'localhost',
user => 'root',
password => Sensitive('secure'),
socket => '/var/run/mysql/mysql.sock',
ensure => present,
}
mysql_login_path { 'local_tcp':
owner => 'root',
host => '127.0.0.1',
user => 'root',
password => Sensitive('more_secure'),
port => 3306,
ensure => present,
}
The following properties are available in the mysql_login_path
type.
Data type: Enum[present, absent]
Whether this resource should be present or absent on the target system.
Data type: Optional[String]
Host name to be entered into the login path.
Data type: Optional[Sensitive[String[1]]]
Password to be entered into login path
Data type: Optional[Integer[0,65535]]
Port number to be entered into login path.
Data type: Optional[String]
Socket path to be entered into login path
Data type: Optional[String]
Username to be entered into the login path.
The following parameters are available in the mysql_login_path
type.
namevar
Data type: String
Name of the login path you want to manage.
namevar
Data type: String
The user to whom the logon path should belong.
Default value: root
Manage MySQL plugins.
mysql_plugin { 'some_plugin':
soname => 'some_pluginlib.so',
}
The following properties are available in the mysql_plugin
type.
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Valid values: %r{^\w+\.\w+$}
The name of the library
The following parameters are available in the mysql_plugin
type.
namevar
The name of the MySQL plugin to manage.
The specific backend to use for this mysql_plugin
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Manage a MySQL user. This includes management of users password as well as privileges.
The following properties are available in the mysql_user
type.
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Valid values: %r{\d+}
Max connections per hour for the user. 0 means no (or global) limit.
Valid values: %r{\d+}
Max queries per hour for the user. 0 means no (or global) limit.
Valid values: %r{\d+}
Max updates per hour for the user. 0 means no (or global) limit.
Valid values: %r{\d+}
Max concurrent connections for the user. 0 means no (or global) limit.
Valid values: %r{\w*}
The password hash of the user. Use mysql::password() for creating such a hash.
Valid values: %r{\w+}
The authentication plugin of the user.
Options to that set the TLS-related REQUIRE attributes for the user.
The following parameters are available in the mysql_user
type.
namevar
The name of the user. This uses the 'username@hostname' or username@hostname.
The specific backend to use for this mysql_user
resource. You will seldom need to specify this --- Puppet will usually
discover the appropriate provider for your platform.
Type: Ruby 4.x API
- When there is a duplicate key that is a hash, they are recursively merged.
- When there is a duplicate key that is not a hash, the key in the rightmost hash will "win."
- When there are conficting uses of dashes and underscores in two keys (which mysql would otherwise equate), the rightmost style will win.
$hash1 = {'one' => 1, 'two' => 2, 'three' => { 'four' => 4 } }
$hash2 = {'two' => 'dos', 'three' => { 'five' => 5 } }
$merged_hash = mysql::normalise_and_deepmerge($hash1, $hash2)
# The resulting hash is equivalent to:
# $merged_hash = { 'one' => 1, 'two' => 'dos', 'three' => { 'four' => 4, 'five' => 5 } }
- When there is a duplicate key that is a hash, they are recursively merged.
- When there is a duplicate key that is not a hash, the key in the rightmost hash will "win."
- When there are conficting uses of dashes and underscores in two keys (which mysql would otherwise equate), the rightmost style will win.
Returns: Any
hash
The given hash normalised
$hash1 = {'one' => 1, 'two' => 2, 'three' => { 'four' => 4 } }
$hash2 = {'two' => 'dos', 'three' => { 'five' => 5 } }
$merged_hash = mysql::normalise_and_deepmerge($hash1, $hash2)
# The resulting hash is equivalent to:
# $merged_hash = { 'one' => 1, 'two' => 'dos', 'three' => { 'four' => 4, 'five' => 5 } }
Data type: Any
Hash to be normalised
Type: Ruby 4.x API
Hash a string as mysql's "PASSWORD()" function would do it
Hash a string as mysql's "PASSWORD()" function would do it
Returns: Variant[String, Sensitive[String]]
hash
The mysql password hash from the clear text password.
Data type: Variant[String, Sensitive[String]]
Plain text password.
Data type: Optional[Boolean]
If the mysql password hash should be of datatype Sensitive[String]
Type: Ruby 4.x API
When given a hash this function strips out all blank entries.
The mysql::strip_hash function.
Returns: Hash
hash
The given hash with all blank entries removed
Data type: Hash
Hash to be stripped
Type: Ruby 4.x API
DEPRECATED. Use the namespaced function mysql::password
instead.
The mysql_password function.
Returns: Variant[String, Sensitive[String]]
The mysql password hash from the 4.x function mysql::password.
Data type: Variant[String, Sensitive[String]]
Plain text password.
Data type: Optional[Boolean]
If the mysql password hash should be of datatype Sensitive[String]
Use this if you don’t want your options merged with the default options.
Alias of Hash[String, Hash]
Allows you to backup your database to local file.
Supports noop? false
Data type: Optional[String[1]]
Database to connect to
Data type: Optional[String[1]]
The user
Data type: Optional[String[1]]
The password
Data type: String[1]
Path to file you want backup to
Allows you to execute arbitary SQL
Supports noop? false
Data type: Optional[String[1]]
Database to connect to
Data type: Optional[String[1]]
The user
Data type: Optional[String[1]]
The password
Data type: String[1]
The SQL you want to execute