diff modules/mysql/REFERENCE.md @ 443:c6c9a2cfcfbd

Update MySQL module Fixes a problem with MariaDB and blank certificate paths
author IBBoard <dev@ibboard.co.uk>
date Mon, 08 May 2023 11:48:41 +0100
parents 668df4711671
children adf6fe9bbc17
line wrap: on
line diff
--- a/modules/mysql/REFERENCE.md	Mon Apr 03 19:41:02 2023 +0100
+++ b/modules/mysql/REFERENCE.md	Mon May 08 11:48:41 2023 +0100
@@ -8,10 +8,10 @@
 
 #### Public Classes
 
-* [`mysql::bindings`](#mysqlbindings): Parent class for MySQL bindings.
-* [`mysql::client`](#mysqlclient): Installs and configures the MySQL client.
-* [`mysql::server`](#mysqlserver): Installs and configures the MySQL server.
-* [`mysql::server::backup`](#mysqlserverbackup): Create and manage a MySQL backup.
+* [`mysql::bindings`](#mysql--bindings): Parent class for MySQL bindings.
+* [`mysql::client`](#mysql--client): Installs and configures the MySQL client.
+* [`mysql::server`](#mysql--server): Installs and configures the MySQL server.
+* [`mysql::server::backup`](#mysql--server--backup): Create and manage a MySQL backup.
 
 #### Private Classes
 
@@ -38,7 +38,7 @@
 
 ### Defined types
 
-* [`mysql::db`](#mysqldb): Create and configure a MySQL database.
+* [`mysql::db`](#mysql--db): Create and configure a MySQL database.
 
 ### Resource types
 
@@ -56,14 +56,14 @@
 
 ### Functions
 
-* [`mysql::normalise_and_deepmerge`](#mysqlnormalise_and_deepmerge): Recursively merges two or more hashes together, normalises keys with differing use of dashes and underscores.
-* [`mysql::password`](#mysqlpassword): Hash a string as mysql's "PASSWORD()" function would do it
-* [`mysql::strip_hash`](#mysqlstrip_hash): When given a hash this function strips out all blank entries.
+* [`mysql::normalise_and_deepmerge`](#mysql--normalise_and_deepmerge): Recursively merges two or more hashes together, normalises keys with differing use of dashes and underscores.
+* [`mysql::password`](#mysql--password): Hash a string as mysql's "PASSWORD()" function would do it
+* [`mysql::strip_hash`](#mysql--strip_hash): When given a hash this function strips out all blank entries.
 * [`mysql_password`](#mysql_password): DEPRECATED. Use the namespaced function [`mysql::password`](#mysqlpassword) instead.
 
 ### Data types
 
-* [`Mysql::Options`](#mysqloptions): A hash of options structured like the override_options, but not merged with the default options.
+* [`Mysql::Options`](#Mysql--Options): A hash of options structured like the override_options, but not merged with the default options.
 
 ### Tasks
 
@@ -72,7 +72,7 @@
 
 ## Classes
 
-### <a name="mysqlbindings"></a>`mysql::bindings`
+### <a name="mysql--bindings"></a>`mysql::bindings`
 
 Parent class for MySQL bindings.
 
@@ -93,101 +93,101 @@
 
 The following parameters are available in the `mysql::bindings` class:
 
-* [`install_options`](#install_options)
-* [`java_enable`](#java_enable)
-* [`perl_enable`](#perl_enable)
-* [`php_enable`](#php_enable)
-* [`python_enable`](#python_enable)
-* [`ruby_enable`](#ruby_enable)
-* [`client_dev`](#client_dev)
-* [`daemon_dev`](#daemon_dev)
-* [`java_package_ensure`](#java_package_ensure)
-* [`java_package_name`](#java_package_name)
-* [`java_package_provider`](#java_package_provider)
-* [`perl_package_ensure`](#perl_package_ensure)
-* [`perl_package_name`](#perl_package_name)
-* [`perl_package_provider`](#perl_package_provider)
-* [`php_package_ensure`](#php_package_ensure)
-* [`php_package_name`](#php_package_name)
-* [`php_package_provider`](#php_package_provider)
-* [`python_package_ensure`](#python_package_ensure)
-* [`python_package_name`](#python_package_name)
-* [`python_package_provider`](#python_package_provider)
-* [`ruby_package_ensure`](#ruby_package_ensure)
-* [`ruby_package_name`](#ruby_package_name)
-* [`ruby_package_provider`](#ruby_package_provider)
-* [`client_dev_package_ensure`](#client_dev_package_ensure)
-* [`client_dev_package_name`](#client_dev_package_name)
-* [`client_dev_package_provider`](#client_dev_package_provider)
-* [`daemon_dev_package_ensure`](#daemon_dev_package_ensure)
-* [`daemon_dev_package_name`](#daemon_dev_package_name)
-* [`daemon_dev_package_provider`](#daemon_dev_package_provider)
-
-##### <a name="install_options"></a>`install_options`
+* [`install_options`](#-mysql--bindings--install_options)
+* [`java_enable`](#-mysql--bindings--java_enable)
+* [`perl_enable`](#-mysql--bindings--perl_enable)
+* [`php_enable`](#-mysql--bindings--php_enable)
+* [`python_enable`](#-mysql--bindings--python_enable)
+* [`ruby_enable`](#-mysql--bindings--ruby_enable)
+* [`client_dev`](#-mysql--bindings--client_dev)
+* [`daemon_dev`](#-mysql--bindings--daemon_dev)
+* [`java_package_ensure`](#-mysql--bindings--java_package_ensure)
+* [`java_package_name`](#-mysql--bindings--java_package_name)
+* [`java_package_provider`](#-mysql--bindings--java_package_provider)
+* [`perl_package_ensure`](#-mysql--bindings--perl_package_ensure)
+* [`perl_package_name`](#-mysql--bindings--perl_package_name)
+* [`perl_package_provider`](#-mysql--bindings--perl_package_provider)
+* [`php_package_ensure`](#-mysql--bindings--php_package_ensure)
+* [`php_package_name`](#-mysql--bindings--php_package_name)
+* [`php_package_provider`](#-mysql--bindings--php_package_provider)
+* [`python_package_ensure`](#-mysql--bindings--python_package_ensure)
+* [`python_package_name`](#-mysql--bindings--python_package_name)
+* [`python_package_provider`](#-mysql--bindings--python_package_provider)
+* [`ruby_package_ensure`](#-mysql--bindings--ruby_package_ensure)
+* [`ruby_package_name`](#-mysql--bindings--ruby_package_name)
+* [`ruby_package_provider`](#-mysql--bindings--ruby_package_provider)
+* [`client_dev_package_ensure`](#-mysql--bindings--client_dev_package_ensure)
+* [`client_dev_package_name`](#-mysql--bindings--client_dev_package_name)
+* [`client_dev_package_provider`](#-mysql--bindings--client_dev_package_provider)
+* [`daemon_dev_package_ensure`](#-mysql--bindings--daemon_dev_package_ensure)
+* [`daemon_dev_package_name`](#-mysql--bindings--daemon_dev_package_name)
+* [`daemon_dev_package_provider`](#-mysql--bindings--daemon_dev_package_provider)
+
+##### <a name="-mysql--bindings--install_options"></a>`install_options`
 
 Data type: `Any`
 
 Passes `install_options` array to managed package resources. You must pass the [appropriate options](https://docs.puppetlabs.com/references/latest/type.html#package-attribute-install_options) for the package manager(s).
 
-Default value: ``undef``
-
-##### <a name="java_enable"></a>`java_enable`
+Default value: `undef`
+
+##### <a name="-mysql--bindings--java_enable"></a>`java_enable`
 
 Data type: `Any`
 
 Specifies whether `::mysql::bindings::java` should be included. Valid values are `true`, `false`.
 
-Default value: ``false``
-
-##### <a name="perl_enable"></a>`perl_enable`
+Default value: `false`
+
+##### <a name="-mysql--bindings--perl_enable"></a>`perl_enable`
 
 Data type: `Any`
 
 Specifies whether `mysql::bindings::perl` should be included. Valid values are `true`, `false`.
 
-Default value: ``false``
-
-##### <a name="php_enable"></a>`php_enable`
+Default value: `false`
+
+##### <a name="-mysql--bindings--php_enable"></a>`php_enable`
 
 Data type: `Any`
 
 Specifies whether `mysql::bindings::php` should be included. Valid values are `true`, `false`.
 
-Default value: ``false``
-
-##### <a name="python_enable"></a>`python_enable`
+Default value: `false`
+
+##### <a name="-mysql--bindings--python_enable"></a>`python_enable`
 
 Data type: `Any`
 
 Specifies whether `mysql::bindings::python` should be included. Valid values are `true`, `false`.
 
-Default value: ``false``
-
-##### <a name="ruby_enable"></a>`ruby_enable`
+Default value: `false`
+
+##### <a name="-mysql--bindings--ruby_enable"></a>`ruby_enable`
 
 Data type: `Any`
 
 Specifies whether `mysql::bindings::ruby` should be included. Valid values are `true`, `false`.
 
-Default value: ``false``
-
-##### <a name="client_dev"></a>`client_dev`
+Default value: `false`
+
+##### <a name="-mysql--bindings--client_dev"></a>`client_dev`
 
 Data type: `Any`
 
 Specifies whether `::mysql::bindings::client_dev` should be included. Valid values are `true`', `false`.
 
-Default value: ``false``
-
-##### <a name="daemon_dev"></a>`daemon_dev`
+Default value: `false`
+
+##### <a name="-mysql--bindings--daemon_dev"></a>`daemon_dev`
 
 Data type: `Any`
 
 Specifies whether `::mysql::bindings::daemon_dev` should be included. Valid values are `true`, `false`.
 
-Default value: ``false``
-
-##### <a name="java_package_ensure"></a>`java_package_ensure`
+Default value: `false`
+
+##### <a name="-mysql--bindings--java_package_ensure"></a>`java_package_ensure`
 
 Data type: `Any`
 
@@ -195,7 +195,7 @@
 
 Default value: `$mysql::params::java_package_ensure`
 
-##### <a name="java_package_name"></a>`java_package_name`
+##### <a name="-mysql--bindings--java_package_name"></a>`java_package_name`
 
 Data type: `Any`
 
@@ -203,7 +203,7 @@
 
 Default value: `$mysql::params::java_package_name`
 
-##### <a name="java_package_provider"></a>`java_package_provider`
+##### <a name="-mysql--bindings--java_package_provider"></a>`java_package_provider`
 
 Data type: `Any`
 
@@ -211,7 +211,7 @@
 
 Default value: `$mysql::params::java_package_provider`
 
-##### <a name="perl_package_ensure"></a>`perl_package_ensure`
+##### <a name="-mysql--bindings--perl_package_ensure"></a>`perl_package_ensure`
 
 Data type: `Any`
 
@@ -219,7 +219,7 @@
 
 Default value: `$mysql::params::perl_package_ensure`
 
-##### <a name="perl_package_name"></a>`perl_package_name`
+##### <a name="-mysql--bindings--perl_package_name"></a>`perl_package_name`
 
 Data type: `Any`
 
@@ -227,7 +227,7 @@
 
 Default value: `$mysql::params::perl_package_name`
 
-##### <a name="perl_package_provider"></a>`perl_package_provider`
+##### <a name="-mysql--bindings--perl_package_provider"></a>`perl_package_provider`
 
 Data type: `Any`
 
@@ -235,7 +235,7 @@
 
 Default value: `$mysql::params::perl_package_provider`
 
-##### <a name="php_package_ensure"></a>`php_package_ensure`
+##### <a name="-mysql--bindings--php_package_ensure"></a>`php_package_ensure`
 
 Data type: `Any`
 
@@ -243,7 +243,7 @@
 
 Default value: `$mysql::params::php_package_ensure`
 
-##### <a name="php_package_name"></a>`php_package_name`
+##### <a name="-mysql--bindings--php_package_name"></a>`php_package_name`
 
 Data type: `Any`
 
@@ -251,7 +251,7 @@
 
 Default value: `$mysql::params::php_package_name`
 
-##### <a name="php_package_provider"></a>`php_package_provider`
+##### <a name="-mysql--bindings--php_package_provider"></a>`php_package_provider`
 
 Data type: `Any`
 
@@ -259,7 +259,7 @@
 
 Default value: `$mysql::params::php_package_provider`
 
-##### <a name="python_package_ensure"></a>`python_package_ensure`
+##### <a name="-mysql--bindings--python_package_ensure"></a>`python_package_ensure`
 
 Data type: `Any`
 
@@ -267,7 +267,7 @@
 
 Default value: `$mysql::params::python_package_ensure`
 
-##### <a name="python_package_name"></a>`python_package_name`
+##### <a name="-mysql--bindings--python_package_name"></a>`python_package_name`
 
 Data type: `Any`
 
@@ -275,7 +275,7 @@
 
 Default value: `$mysql::params::python_package_name`
 
-##### <a name="python_package_provider"></a>`python_package_provider`
+##### <a name="-mysql--bindings--python_package_provider"></a>`python_package_provider`
 
 Data type: `Any`
 
@@ -283,7 +283,7 @@
 
 Default value: `$mysql::params::python_package_provider`
 
-##### <a name="ruby_package_ensure"></a>`ruby_package_ensure`
+##### <a name="-mysql--bindings--ruby_package_ensure"></a>`ruby_package_ensure`
 
 Data type: `Any`
 
@@ -291,7 +291,7 @@
 
 Default value: `$mysql::params::ruby_package_ensure`
 
-##### <a name="ruby_package_name"></a>`ruby_package_name`
+##### <a name="-mysql--bindings--ruby_package_name"></a>`ruby_package_name`
 
 Data type: `Any`
 
@@ -299,7 +299,7 @@
 
 Default value: `$mysql::params::ruby_package_name`
 
-##### <a name="ruby_package_provider"></a>`ruby_package_provider`
+##### <a name="-mysql--bindings--ruby_package_provider"></a>`ruby_package_provider`
 
 Data type: `Any`
 
@@ -307,7 +307,7 @@
 
 Default value: `$mysql::params::ruby_package_provider`
 
-##### <a name="client_dev_package_ensure"></a>`client_dev_package_ensure`
+##### <a name="-mysql--bindings--client_dev_package_ensure"></a>`client_dev_package_ensure`
 
 Data type: `Any`
 
@@ -315,7 +315,7 @@
 
 Default value: `$mysql::params::client_dev_package_ensure`
 
-##### <a name="client_dev_package_name"></a>`client_dev_package_name`
+##### <a name="-mysql--bindings--client_dev_package_name"></a>`client_dev_package_name`
 
 Data type: `Any`
 
@@ -323,7 +323,7 @@
 
 Default value: `$mysql::params::client_dev_package_name`
 
-##### <a name="client_dev_package_provider"></a>`client_dev_package_provider`
+##### <a name="-mysql--bindings--client_dev_package_provider"></a>`client_dev_package_provider`
 
 Data type: `Any`
 
@@ -331,7 +331,7 @@
 
 Default value: `$mysql::params::client_dev_package_provider`
 
-##### <a name="daemon_dev_package_ensure"></a>`daemon_dev_package_ensure`
+##### <a name="-mysql--bindings--daemon_dev_package_ensure"></a>`daemon_dev_package_ensure`
 
 Data type: `Any`
 
@@ -339,7 +339,7 @@
 
 Default value: `$mysql::params::daemon_dev_package_ensure`
 
-##### <a name="daemon_dev_package_name"></a>`daemon_dev_package_name`
+##### <a name="-mysql--bindings--daemon_dev_package_name"></a>`daemon_dev_package_name`
 
 Data type: `Any`
 
@@ -347,7 +347,7 @@
 
 Default value: `$mysql::params::daemon_dev_package_name`
 
-##### <a name="daemon_dev_package_provider"></a>`daemon_dev_package_provider`
+##### <a name="-mysql--bindings--daemon_dev_package_provider"></a>`daemon_dev_package_provider`
 
 Data type: `Any`
 
@@ -355,7 +355,7 @@
 
 Default value: `$mysql::params::daemon_dev_package_provider`
 
-### <a name="mysqlclient"></a>`mysql::client`
+### <a name="mysql--client"></a>`mysql::client`
 
 Installs and configures the MySQL client.
 
@@ -375,15 +375,15 @@
 
 The following parameters are available in the `mysql::client` class:
 
-* [`bindings_enable`](#bindings_enable)
-* [`install_options`](#install_options)
-* [`package_ensure`](#package_ensure)
-* [`package_manage`](#package_manage)
-* [`package_name`](#package_name)
-* [`package_provider`](#package_provider)
-* [`package_source`](#package_source)
-
-##### <a name="bindings_enable"></a>`bindings_enable`
+* [`bindings_enable`](#-mysql--client--bindings_enable)
+* [`install_options`](#-mysql--client--install_options)
+* [`package_ensure`](#-mysql--client--package_ensure)
+* [`package_manage`](#-mysql--client--package_manage)
+* [`package_name`](#-mysql--client--package_name)
+* [`package_provider`](#-mysql--client--package_provider)
+* [`package_source`](#-mysql--client--package_source)
+
+##### <a name="-mysql--client--bindings_enable"></a>`bindings_enable`
 
 Data type: `Any`
 
@@ -391,15 +391,15 @@
 
 Default value: `$mysql::params::bindings_enable`
 
-##### <a name="install_options"></a>`install_options`
+##### <a name="-mysql--client--install_options"></a>`install_options`
 
 Data type: `Any`
 
 Array of install options for managed package resources. You must pass the appropriate options for the package manager.
 
-Default value: ``undef``
-
-##### <a name="package_ensure"></a>`package_ensure`
+Default value: `undef`
+
+##### <a name="-mysql--client--package_ensure"></a>`package_ensure`
 
 Data type: `Any`
 
@@ -407,7 +407,7 @@
 
 Default value: `$mysql::params::client_package_ensure`
 
-##### <a name="package_manage"></a>`package_manage`
+##### <a name="-mysql--client--package_manage"></a>`package_manage`
 
 Data type: `Any`
 
@@ -415,7 +415,7 @@
 
 Default value: `$mysql::params::client_package_manage`
 
-##### <a name="package_name"></a>`package_name`
+##### <a name="-mysql--client--package_name"></a>`package_name`
 
 Data type: `Any`
 
@@ -423,23 +423,23 @@
 
 Default value: `$mysql::params::client_package_name`
 
-##### <a name="package_provider"></a>`package_provider`
+##### <a name="-mysql--client--package_provider"></a>`package_provider`
 
 Data type: `Any`
 
 
 
-Default value: ``undef``
-
-##### <a name="package_source"></a>`package_source`
+Default value: `undef`
+
+##### <a name="-mysql--client--package_source"></a>`package_source`
 
 Data type: `Any`
 
 
 
-Default value: ``undef``
-
-### <a name="mysqlserver"></a>`mysql::server`
+Default value: `undef`
+
+### <a name="mysql--server"></a>`mysql::server`
 
 Installs and configures the MySQL server.
 
@@ -460,44 +460,43 @@
 
 The following parameters are available in the `mysql::server` class:
 
-* [`config_file`](#config_file)
-* [`config_file_mode`](#config_file_mode)
-* [`includedir`](#includedir)
-* [`install_options`](#install_options)
-* [`install_secret_file`](#install_secret_file)
-* [`manage_config_file`](#manage_config_file)
-* [`options`](#options)
-* [`override_options`](#override_options)
-* [`package_ensure`](#package_ensure)
-* [`package_manage`](#package_manage)
-* [`package_name`](#package_name)
-* [`package_provider`](#package_provider)
-* [`package_source`](#package_source)
-* [`purge_conf_dir`](#purge_conf_dir)
-* [`remove_default_accounts`](#remove_default_accounts)
-* [`restart`](#restart)
-* [`root_group`](#root_group)
-* [`mysql_group`](#mysql_group)
-* [`mycnf_owner`](#mycnf_owner)
-* [`mycnf_group`](#mycnf_group)
-* [`root_password`](#root_password)
-* [`service_enabled`](#service_enabled)
-* [`service_manage`](#service_manage)
-* [`service_name`](#service_name)
-* [`service_provider`](#service_provider)
-* [`create_root_user`](#create_root_user)
-* [`create_root_my_cnf`](#create_root_my_cnf)
-* [`users`](#users)
-* [`grants`](#grants)
-* [`databases`](#databases)
-* [`enabled`](#enabled)
-* [`manage_service`](#manage_service)
-* [`old_root_password`](#old_root_password)
-* [`managed_dirs`](#managed_dirs)
-* [`create_root_login_file`](#create_root_login_file)
-* [`login_file`](#login_file)
-
-##### <a name="config_file"></a>`config_file`
+* [`config_file`](#-mysql--server--config_file)
+* [`config_file_mode`](#-mysql--server--config_file_mode)
+* [`includedir`](#-mysql--server--includedir)
+* [`install_options`](#-mysql--server--install_options)
+* [`manage_config_file`](#-mysql--server--manage_config_file)
+* [`options`](#-mysql--server--options)
+* [`override_options`](#-mysql--server--override_options)
+* [`package_ensure`](#-mysql--server--package_ensure)
+* [`package_manage`](#-mysql--server--package_manage)
+* [`package_name`](#-mysql--server--package_name)
+* [`package_provider`](#-mysql--server--package_provider)
+* [`package_source`](#-mysql--server--package_source)
+* [`purge_conf_dir`](#-mysql--server--purge_conf_dir)
+* [`remove_default_accounts`](#-mysql--server--remove_default_accounts)
+* [`restart`](#-mysql--server--restart)
+* [`root_group`](#-mysql--server--root_group)
+* [`mysql_group`](#-mysql--server--mysql_group)
+* [`mycnf_owner`](#-mysql--server--mycnf_owner)
+* [`mycnf_group`](#-mysql--server--mycnf_group)
+* [`root_password`](#-mysql--server--root_password)
+* [`service_enabled`](#-mysql--server--service_enabled)
+* [`service_manage`](#-mysql--server--service_manage)
+* [`service_name`](#-mysql--server--service_name)
+* [`service_provider`](#-mysql--server--service_provider)
+* [`create_root_user`](#-mysql--server--create_root_user)
+* [`create_root_my_cnf`](#-mysql--server--create_root_my_cnf)
+* [`users`](#-mysql--server--users)
+* [`grants`](#-mysql--server--grants)
+* [`databases`](#-mysql--server--databases)
+* [`enabled`](#-mysql--server--enabled)
+* [`manage_service`](#-mysql--server--manage_service)
+* [`old_root_password`](#-mysql--server--old_root_password)
+* [`managed_dirs`](#-mysql--server--managed_dirs)
+* [`create_root_login_file`](#-mysql--server--create_root_login_file)
+* [`login_file`](#-mysql--server--login_file)
+
+##### <a name="-mysql--server--config_file"></a>`config_file`
 
 Data type: `Any`
 
@@ -505,7 +504,7 @@
 
 Default value: `$mysql::params::config_file`
 
-##### <a name="config_file_mode"></a>`config_file_mode`
+##### <a name="-mysql--server--config_file_mode"></a>`config_file_mode`
 
 Data type: `Any`
 
@@ -513,7 +512,7 @@
 
 Default value: `$mysql::params::config_file_mode`
 
-##### <a name="includedir"></a>`includedir`
+##### <a name="-mysql--server--includedir"></a>`includedir`
 
 Data type: `Any`
 
@@ -521,23 +520,15 @@
 
 Default value: `$mysql::params::includedir`
 
-##### <a name="install_options"></a>`install_options`
+##### <a name="-mysql--server--install_options"></a>`install_options`
 
 Data type: `Any`
 
 Passes [install_options](https://docs.puppetlabs.com/references/latest/type.html#package-attribute-install_options) array to managed package resources. You must pass the appropriate options for the specified package manager
 
-Default value: ``undef``
-
-##### <a name="install_secret_file"></a>`install_secret_file`
-
-Data type: `Any`
-
-Path to secret file containing temporary root password.
-
-Default value: `$mysql::params::install_secret_file`
-
-##### <a name="manage_config_file"></a>`manage_config_file`
+Default value: `undef`
+
+##### <a name="-mysql--server--manage_config_file"></a>`manage_config_file`
 
 Data type: `Any`
 
@@ -545,7 +536,7 @@
 
 Default value: `$mysql::params::manage_config_file`
 
-##### <a name="options"></a>`options`
+##### <a name="-mysql--server--options"></a>`options`
 
 Data type: `Mysql::Options`
 
@@ -553,7 +544,7 @@
 
 Default value: `{}`
 
-##### <a name="override_options"></a>`override_options`
+##### <a name="-mysql--server--override_options"></a>`override_options`
 
 Data type: `Any`
 
@@ -561,7 +552,7 @@
 
 Default value: `{}`
 
-##### <a name="package_ensure"></a>`package_ensure`
+##### <a name="-mysql--server--package_ensure"></a>`package_ensure`
 
 Data type: `Any`
 
@@ -569,7 +560,7 @@
 
 Default value: `$mysql::params::server_package_ensure`
 
-##### <a name="package_manage"></a>`package_manage`
+##### <a name="-mysql--server--package_manage"></a>`package_manage`
 
 Data type: `Any`
 
@@ -577,7 +568,7 @@
 
 Default value: `$mysql::params::server_package_manage`
 
-##### <a name="package_name"></a>`package_name`
+##### <a name="-mysql--server--package_name"></a>`package_name`
 
 Data type: `Any`
 
@@ -585,23 +576,23 @@
 
 Default value: `$mysql::params::server_package_name`
 
-##### <a name="package_provider"></a>`package_provider`
+##### <a name="-mysql--server--package_provider"></a>`package_provider`
 
 Data type: `Any`
 
 Define a specific provider for package install.
 
-Default value: ``undef``
-
-##### <a name="package_source"></a>`package_source`
+Default value: `undef`
+
+##### <a name="-mysql--server--package_source"></a>`package_source`
 
 Data type: `Any`
 
 The location of the package source (require for some package provider)
 
-Default value: ``undef``
-
-##### <a name="purge_conf_dir"></a>`purge_conf_dir`
+Default value: `undef`
+
+##### <a name="-mysql--server--purge_conf_dir"></a>`purge_conf_dir`
 
 Data type: `Any`
 
@@ -609,15 +600,15 @@
 
 Default value: `$mysql::params::purge_conf_dir`
 
-##### <a name="remove_default_accounts"></a>`remove_default_accounts`
+##### <a name="-mysql--server--remove_default_accounts"></a>`remove_default_accounts`
 
 Data type: `Any`
 
 Specifies whether to automatically include `mysql::server::account_security`. Valid values are `true`, `false`. Defaults to `false`.
 
-Default value: ``false``
-
-##### <a name="restart"></a>`restart`
+Default value: `false`
+
+##### <a name="-mysql--server--restart"></a>`restart`
 
 Data type: `Any`
 
@@ -625,7 +616,7 @@
 
 Default value: `$mysql::params::restart`
 
-##### <a name="root_group"></a>`root_group`
+##### <a name="-mysql--server--root_group"></a>`root_group`
 
 Data type: `Any`
 
@@ -633,7 +624,7 @@
 
 Default value: `$mysql::params::root_group`
 
-##### <a name="mysql_group"></a>`mysql_group`
+##### <a name="-mysql--server--mysql_group"></a>`mysql_group`
 
 Data type: `Any`
 
@@ -641,7 +632,7 @@
 
 Default value: `$mysql::params::mysql_group`
 
-##### <a name="mycnf_owner"></a>`mycnf_owner`
+##### <a name="-mysql--server--mycnf_owner"></a>`mycnf_owner`
 
 Data type: `Any`
 
@@ -649,7 +640,7 @@
 
 Default value: `$mysql::params::mycnf_owner`
 
-##### <a name="mycnf_group"></a>`mycnf_group`
+##### <a name="-mysql--server--mycnf_group"></a>`mycnf_group`
 
 Data type: `Any`
 
@@ -657,7 +648,7 @@
 
 Default value: `$mysql::params::mycnf_group`
 
-##### <a name="root_password"></a>`root_password`
+##### <a name="-mysql--server--root_password"></a>`root_password`
 
 Data type: `Variant[String, Sensitive[String]]`
 
@@ -665,7 +656,7 @@
 
 Default value: `$mysql::params::root_password`
 
-##### <a name="service_enabled"></a>`service_enabled`
+##### <a name="-mysql--server--service_enabled"></a>`service_enabled`
 
 Data type: `Any`
 
@@ -673,7 +664,7 @@
 
 Default value: `$mysql::params::server_service_enabled`
 
-##### <a name="service_manage"></a>`service_manage`
+##### <a name="-mysql--server--service_manage"></a>`service_manage`
 
 Data type: `Any`
 
@@ -681,7 +672,7 @@
 
 Default value: `$mysql::params::server_service_manage`
 
-##### <a name="service_name"></a>`service_name`
+##### <a name="-mysql--server--service_name"></a>`service_name`
 
 Data type: `Any`
 
@@ -689,7 +680,7 @@
 
 Default value: `$mysql::params::server_service_name`
 
-##### <a name="service_provider"></a>`service_provider`
+##### <a name="-mysql--server--service_provider"></a>`service_provider`
 
 Data type: `Any`
 
@@ -697,7 +688,7 @@
 
 Default value: `$mysql::params::server_service_provider`
 
-##### <a name="create_root_user"></a>`create_root_user`
+##### <a name="-mysql--server--create_root_user"></a>`create_root_user`
 
 Data type: `Any`
 
@@ -705,7 +696,7 @@
 
 Default value: `$mysql::params::create_root_user`
 
-##### <a name="create_root_my_cnf"></a>`create_root_my_cnf`
+##### <a name="-mysql--server--create_root_my_cnf"></a>`create_root_my_cnf`
 
 Data type: `Any`
 
@@ -713,7 +704,7 @@
 
 Default value: `$mysql::params::create_root_my_cnf`
 
-##### <a name="users"></a>`users`
+##### <a name="-mysql--server--users"></a>`users`
 
 Data type: `Any`
 
@@ -721,7 +712,7 @@
 
 Default value: `{}`
 
-##### <a name="grants"></a>`grants`
+##### <a name="-mysql--server--grants"></a>`grants`
 
 Data type: `Any`
 
@@ -729,7 +720,7 @@
 
 Default value: `{}`
 
-##### <a name="databases"></a>`databases`
+##### <a name="-mysql--server--databases"></a>`databases`
 
 Data type: `Any`
 
@@ -737,31 +728,31 @@
 
 Default value: `{}`
 
-##### <a name="enabled"></a>`enabled`
+##### <a name="-mysql--server--enabled"></a>`enabled`
 
 Data type: `Any`
 
 _Deprecated_
 
-Default value: ``undef``
-
-##### <a name="manage_service"></a>`manage_service`
+Default value: `undef`
+
+##### <a name="-mysql--server--manage_service"></a>`manage_service`
 
 Data type: `Any`
 
 _Deprecated_
 
-Default value: ``undef``
-
-##### <a name="old_root_password"></a>`old_root_password`
+Default value: `undef`
+
+##### <a name="-mysql--server--old_root_password"></a>`old_root_password`
 
 Data type: `Any`
 
 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``
-
-##### <a name="managed_dirs"></a>`managed_dirs`
+Default value: `undef`
+
+##### <a name="-mysql--server--managed_dirs"></a>`managed_dirs`
 
 Data type: `Any`
 
@@ -769,7 +760,7 @@
 
 Default value: `$mysql::params::managed_dirs`
 
-##### <a name="create_root_login_file"></a>`create_root_login_file`
+##### <a name="-mysql--server--create_root_login_file"></a>`create_root_login_file`
 
 Data type: `Any`
 
@@ -777,7 +768,7 @@
 
 Default value: `$mysql::params::create_root_login_file`
 
-##### <a name="login_file"></a>`login_file`
+##### <a name="-mysql--server--login_file"></a>`login_file`
 
 Data type: `Any`
 
@@ -785,7 +776,7 @@
 
 Default value: `$mysql::params::login_file`
 
-### <a name="mysqlserverbackup"></a>`mysql::server::backup`
+### <a name="mysql--server--backup"></a>`mysql::server::backup`
 
 Create and manage a MySQL backup.
 
@@ -795,17 +786,26 @@
 
 ```puppet
 class { 'mysql::server':
-  root_password => 'password'
+  root_password           => 'password'
 }
 class { 'mysql::server::backup':
-  backupuser     => 'myuser',
-  backuppassword => 'mypassword',
-  backupdir      => '/tmp/backups',
+  backupuser              => 'myuser',
+  backuppassword          => 'mypassword',
+  backupdir               => '/tmp/backups',
+}
+```
+
+##### Create a basic MySQL backup using mariabackup:
+
+```puppet
+class { 'mysql::server':
+  root_password           => 'password'
 }
 class { 'mysql::server::backup':
-  backupmethod => 'mariabackup',
-  provider     => 'xtrabackup',
-  backupdir    => '/tmp/backups',
+  backupmethod            => 'mariabackup',
+  backupmethod_package    => 'mariadb-backup'
+  provider                => 'xtrabackup',
+  backupdir               => '/tmp/backups',
 }
 ```
 
@@ -813,60 +813,62 @@
 
 The following parameters are available in the `mysql::server::backup` class:
 
-* [`backupuser`](#backupuser)
-* [`backuppassword`](#backuppassword)
-* [`backupdir`](#backupdir)
-* [`backupdirmode`](#backupdirmode)
-* [`backupdirowner`](#backupdirowner)
-* [`backupdirgroup`](#backupdirgroup)
-* [`backupcompress`](#backupcompress)
-* [`backupmethod`](#backupmethod)
-* [`backup_success_file_path`](#backup_success_file_path)
-* [`backuprotate`](#backuprotate)
-* [`ignore_events`](#ignore_events)
-* [`delete_before_dump`](#delete_before_dump)
-* [`backupdatabases`](#backupdatabases)
-* [`file_per_database`](#file_per_database)
-* [`include_routines`](#include_routines)
-* [`include_triggers`](#include_triggers)
-* [`incremental_backups`](#incremental_backups)
-* [`ensure`](#ensure)
-* [`time`](#time)
-* [`prescript`](#prescript)
-* [`postscript`](#postscript)
-* [`execpath`](#execpath)
-* [`provider`](#provider)
-* [`maxallowedpacket`](#maxallowedpacket)
-* [`optional_args`](#optional_args)
-* [`install_cron`](#install_cron)
-* [`compression_command`](#compression_command)
-* [`compression_extension`](#compression_extension)
-
-##### <a name="backupuser"></a>`backupuser`
+* [`backupuser`](#-mysql--server--backup--backupuser)
+* [`backuppassword`](#-mysql--server--backup--backuppassword)
+* [`backupdir`](#-mysql--server--backup--backupdir)
+* [`backupdirmode`](#-mysql--server--backup--backupdirmode)
+* [`backupdirowner`](#-mysql--server--backup--backupdirowner)
+* [`backupdirgroup`](#-mysql--server--backup--backupdirgroup)
+* [`backupcompress`](#-mysql--server--backup--backupcompress)
+* [`backupmethod`](#-mysql--server--backup--backupmethod)
+* [`backup_success_file_path`](#-mysql--server--backup--backup_success_file_path)
+* [`backuprotate`](#-mysql--server--backup--backuprotate)
+* [`ignore_events`](#-mysql--server--backup--ignore_events)
+* [`delete_before_dump`](#-mysql--server--backup--delete_before_dump)
+* [`backupdatabases`](#-mysql--server--backup--backupdatabases)
+* [`file_per_database`](#-mysql--server--backup--file_per_database)
+* [`include_routines`](#-mysql--server--backup--include_routines)
+* [`include_triggers`](#-mysql--server--backup--include_triggers)
+* [`incremental_backups`](#-mysql--server--backup--incremental_backups)
+* [`ensure`](#-mysql--server--backup--ensure)
+* [`time`](#-mysql--server--backup--time)
+* [`prescript`](#-mysql--server--backup--prescript)
+* [`postscript`](#-mysql--server--backup--postscript)
+* [`execpath`](#-mysql--server--backup--execpath)
+* [`provider`](#-mysql--server--backup--provider)
+* [`maxallowedpacket`](#-mysql--server--backup--maxallowedpacket)
+* [`optional_args`](#-mysql--server--backup--optional_args)
+* [`install_cron`](#-mysql--server--backup--install_cron)
+* [`compression_command`](#-mysql--server--backup--compression_command)
+* [`compression_extension`](#-mysql--server--backup--compression_extension)
+* [`backupmethod_package`](#-mysql--server--backup--backupmethod_package)
+* [`excludedatabases`](#-mysql--server--backup--excludedatabases)
+
+##### <a name="-mysql--server--backup--backupuser"></a>`backupuser`
 
 Data type: `Any`
 
 MySQL user to create with backup administrator privileges.
 
-Default value: ``undef``
-
-##### <a name="backuppassword"></a>`backuppassword`
+Default value: `undef`
+
+##### <a name="-mysql--server--backup--backuppassword"></a>`backuppassword`
 
 Data type: `Optional[Variant[String, Sensitive[String]]]`
 
 Password to create for `backupuser`.
 
-Default value: ``undef``
-
-##### <a name="backupdir"></a>`backupdir`
+Default value: `undef`
+
+##### <a name="-mysql--server--backup--backupdir"></a>`backupdir`
 
 Data type: `Any`
 
 Directory to store backup.
 
-Default value: ``undef``
-
-##### <a name="backupdirmode"></a>`backupdirmode`
+Default value: `undef`
+
+##### <a name="-mysql--server--backup--backupdirmode"></a>`backupdirmode`
 
 Data type: `Any`
 
@@ -874,7 +876,7 @@
 
 Default value: `'0700'`
 
-##### <a name="backupdirowner"></a>`backupdirowner`
+##### <a name="-mysql--server--backup--backupdirowner"></a>`backupdirowner`
 
 Data type: `Any`
 
@@ -882,7 +884,7 @@
 
 Default value: `'root'`
 
-##### <a name="backupdirgroup"></a>`backupdirgroup`
+##### <a name="-mysql--server--backup--backupdirgroup"></a>`backupdirgroup`
 
 Data type: `Any`
 
@@ -890,23 +892,23 @@
 
 Default value: `$mysql::params::root_group`
 
-##### <a name="backupcompress"></a>`backupcompress`
+##### <a name="-mysql--server--backup--backupcompress"></a>`backupcompress`
 
 Data type: `Any`
 
 Whether or not to compress the backup (when using the mysqldump or xtrabackup provider)
 
-Default value: ``true``
-
-##### <a name="backupmethod"></a>`backupmethod`
+Default value: `true`
+
+##### <a name="-mysql--server--backup--backupmethod"></a>`backupmethod`
 
 Data type: `Any`
 
 The execution binary for backing up. ex. mysqldump, xtrabackup, mariabackup
 
-Default value: ``undef``
-
-##### <a name="backup_success_file_path"></a>`backup_success_file_path`
+Default value: `undef`
+
+##### <a name="-mysql--server--backup--backup_success_file_path"></a>`backup_success_file_path`
 
 Data type: `Any`
 
@@ -914,7 +916,7 @@
 
 Default value: `'/tmp/mysqlbackup_success'`
 
-##### <a name="backuprotate"></a>`backuprotate`
+##### <a name="-mysql--server--backup--backuprotate"></a>`backuprotate`
 
 Data type: `Any`
 
@@ -922,23 +924,23 @@
 
 Default value: `30`
 
-##### <a name="ignore_events"></a>`ignore_events`
+##### <a name="-mysql--server--backup--ignore_events"></a>`ignore_events`
 
 Data type: `Any`
 
 Ignore the mysql.event table.
 
-Default value: ``true``
-
-##### <a name="delete_before_dump"></a>`delete_before_dump`
+Default value: `true`
+
+##### <a name="-mysql--server--backup--delete_before_dump"></a>`delete_before_dump`
 
 Data type: `Any`
 
 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``
-
-##### <a name="backupdatabases"></a>`backupdatabases`
+Default value: `false`
+
+##### <a name="-mysql--server--backup--backupdatabases"></a>`backupdatabases`
 
 Data type: `Any`
 
@@ -946,39 +948,39 @@
 
 Default value: `[]`
 
-##### <a name="file_per_database"></a>`file_per_database`
+##### <a name="-mysql--server--backup--file_per_database"></a>`file_per_database`
 
 Data type: `Any`
 
 Use file per database mode creating one file per database backup.
 
-Default value: ``false``
-
-##### <a name="include_routines"></a>`include_routines`
+Default value: `false`
+
+##### <a name="-mysql--server--backup--include_routines"></a>`include_routines`
 
 Data type: `Any`
 
 Dump stored routines (procedures and functions) from dumped databases when doing a `file_per_database` backup.
 
-Default value: ``false``
-
-##### <a name="include_triggers"></a>`include_triggers`
+Default value: `false`
+
+##### <a name="-mysql--server--backup--include_triggers"></a>`include_triggers`
 
 Data type: `Any`
 
 Dump triggers for each dumped table when doing a `file_per_database` backup.
 
-Default value: ``false``
-
-##### <a name="incremental_backups"></a>`incremental_backups`
+Default value: `false`
+
+##### <a name="-mysql--server--backup--incremental_backups"></a>`incremental_backups`
 
 Data type: `Any`
 
 A flag to activate/deactivate incremental backups. Currently only supported by the xtrabackup provider.
 
-Default value: ``true``
-
-##### <a name="ensure"></a>`ensure`
+Default value: `true`
+
+##### <a name="-mysql--server--backup--ensure"></a>`ensure`
 
 Data type: `Any`
 
@@ -986,7 +988,7 @@
 
 Default value: `'present'`
 
-##### <a name="time"></a>`time`
+##### <a name="-mysql--server--backup--time"></a>`time`
 
 Data type: `Any`
 
@@ -994,23 +996,23 @@
 
 Default value: `['23', '5']`
 
-##### <a name="prescript"></a>`prescript`
+##### <a name="-mysql--server--backup--prescript"></a>`prescript`
 
 Data type: `Any`
 
 A script that is executed before the backup begins.
 
-Default value: ``false``
-
-##### <a name="postscript"></a>`postscript`
+Default value: `false`
+
+##### <a name="-mysql--server--backup--postscript"></a>`postscript`
 
 Data type: `Any`
 
 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``
-
-##### <a name="execpath"></a>`execpath`
+Default value: `false`
+
+##### <a name="-mysql--server--backup--execpath"></a>`execpath`
 
 Data type: `Any`
 
@@ -1018,15 +1020,15 @@
 
 Default value: `'/usr/bin:/usr/sbin:/bin:/sbin'`
 
-##### <a name="provider"></a>`provider`
+##### <a name="-mysql--server--backup--provider"></a>`provider`
 
 Data type: `Any`
 
-Sets the server backup implementation. Valid values are:
+Sets the server backup implementation. Valid values are: xtrabackup, mysqldump, mysqlbackup
 
 Default value: `'mysqldump'`
 
-##### <a name="maxallowedpacket"></a>`maxallowedpacket`
+##### <a name="-mysql--server--backup--maxallowedpacket"></a>`maxallowedpacket`
 
 Data type: `Any`
 
@@ -1034,7 +1036,7 @@
 
 Default value: `'1M'`
 
-##### <a name="optional_args"></a>`optional_args`
+##### <a name="-mysql--server--backup--optional_args"></a>`optional_args`
 
 Data type: `Any`
 
@@ -1042,34 +1044,50 @@
 
 Default value: `[]`
 
-##### <a name="install_cron"></a>`install_cron`
+##### <a name="-mysql--server--backup--install_cron"></a>`install_cron`
 
 Data type: `Any`
 
 Manage installation of cron package
 
-Default value: ``true``
-
-##### <a name="compression_command"></a>`compression_command`
+Default value: `true`
+
+##### <a name="-mysql--server--backup--compression_command"></a>`compression_command`
 
 Data type: `Any`
 
 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``
-
-##### <a name="compression_extension"></a>`compression_extension`
+Default value: `undef`
+
+##### <a name="-mysql--server--backup--compression_extension"></a>`compression_extension`
 
 Data type: `Any`
 
 Configure the file extension for the compressed backup (when using the mysqldump provider)
 
-Default value: ``undef``
+Default value: `undef`
+
+##### <a name="-mysql--server--backup--backupmethod_package"></a>`backupmethod_package`
+
+Data type: `Any`
+
+The package which provides the binary specified by the backupmethod parameter.
+
+Default value: `$mysql::params::xtrabackup_package_name`
+
+##### <a name="-mysql--server--backup--excludedatabases"></a>`excludedatabases`
+
+Data type: `Array[String]`
+
+Give a list of excluded databases when using file_per_database, e.g.: [ 'information_schema', 'performance_schema' ]
+
+Default value: `[]`
 
 ## Defined types
 
-### <a name="mysqldb"></a>`mysql::db`
+### <a name="mysql--db"></a>`mysql::db`
 
 Create and configure a MySQL database.
 
@@ -1090,67 +1108,76 @@
 
 The following parameters are available in the `mysql::db` defined type:
 
-* [`user`](#user)
-* [`password`](#password)
-* [`tls_options`](#tls_options)
-* [`dbname`](#dbname)
-* [`charset`](#charset)
-* [`collate`](#collate)
-* [`host`](#host)
-* [`grant`](#grant)
-* [`grant_options`](#grant_options)
-* [`sql`](#sql)
-* [`enforce_sql`](#enforce_sql)
-* [`ensure`](#ensure)
-* [`import_timeout`](#import_timeout)
-* [`import_cat_cmd`](#import_cat_cmd)
-* [`mysql_exec_path`](#mysql_exec_path)
-
-##### <a name="user"></a>`user`
+* [`name`](#-mysql--db--name)
+* [`user`](#-mysql--db--user)
+* [`password`](#-mysql--db--password)
+* [`tls_options`](#-mysql--db--tls_options)
+* [`dbname`](#-mysql--db--dbname)
+* [`charset`](#-mysql--db--charset)
+* [`collate`](#-mysql--db--collate)
+* [`host`](#-mysql--db--host)
+* [`grant`](#-mysql--db--grant)
+* [`grant_options`](#-mysql--db--grant_options)
+* [`sql`](#-mysql--db--sql)
+* [`enforce_sql`](#-mysql--db--enforce_sql)
+* [`ensure`](#-mysql--db--ensure)
+* [`import_timeout`](#-mysql--db--import_timeout)
+* [`import_cat_cmd`](#-mysql--db--import_cat_cmd)
+* [`mysql_exec_path`](#-mysql--db--mysql_exec_path)
+
+##### <a name="-mysql--db--name"></a>`name`
+
+The name of the database to create. Database names must:
+  * be longer than 64 characters.
+  * not contain / \ or . characters.
+  * not contain characters that are not permitted in file names.
+  * not end with space characters.
+
+##### <a name="-mysql--db--user"></a>`user`
 
 Data type: `Any`
 
 The user for the database you're creating.
 
-##### <a name="password"></a>`password`
+##### <a name="-mysql--db--password"></a>`password`
 
 Data type: `Variant[String, Sensitive[String]]`
 
 The password for $user for the database you're creating.
 
-##### <a name="tls_options"></a>`tls_options`
+##### <a name="-mysql--db--tls_options"></a>`tls_options`
 
 Data type: `Any`
 
 The tls_options for $user for the database you're creating.
 
-Default value: ``undef``
-
-##### <a name="dbname"></a>`dbname`
-
-Data type: `Any`
+Default value: `undef`
+
+##### <a name="-mysql--db--dbname"></a>`dbname`
+
+Data type: `String`
 
 The name of the database to create.
 
 Default value: `$name`
 
-##### <a name="charset"></a>`charset`
+##### <a name="-mysql--db--charset"></a>`charset`
 
 Data type: `Any`
 
-The character set for the database.
+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'`
 
-##### <a name="collate"></a>`collate`
+##### <a name="-mysql--db--collate"></a>`collate`
 
 Data type: `Any`
 
-The collation for the database.
+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'`
 
-##### <a name="host"></a>`host`
+##### <a name="-mysql--db--host"></a>`host`
 
 Data type: `Any`
 
@@ -1158,7 +1185,7 @@
 
 Default value: `'localhost'`
 
-##### <a name="grant"></a>`grant`
+##### <a name="-mysql--db--grant"></a>`grant`
 
 Data type: `Any`
 
@@ -1166,31 +1193,31 @@
 
 Default value: `'ALL'`
 
-##### <a name="grant_options"></a>`grant_options`
+##### <a name="-mysql--db--grant_options"></a>`grant_options`
 
 Data type: `Any`
 
 The grant_options for the grant for user@host on the database.
 
-Default value: ``undef``
-
-##### <a name="sql"></a>`sql`
-
-Data type: `Optional[Variant[Array, Hash, String]]`
-
-The path to the sqlfile you want to execute. This can be single file specified as string, or it can be an array of strings.
-
-Default value: ``undef``
-
-##### <a name="enforce_sql"></a>`enforce_sql`
+Default value: `undef`
+
+##### <a name="-mysql--db--sql"></a>`sql`
+
+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`
+
+##### <a name="-mysql--db--enforce_sql"></a>`enforce_sql`
 
 Data type: `Any`
 
 Specifies whether executing the sqlfiles should happen on every run. If set to false, sqlfiles only run once.
 
-Default value: ``false``
-
-##### <a name="ensure"></a>`ensure`
+Default value: `false`
+
+##### <a name="-mysql--db--ensure"></a>`ensure`
 
 Data type: `Enum['absent', 'present']`
 
@@ -1198,7 +1225,7 @@
 
 Default value: `'present'`
 
-##### <a name="import_timeout"></a>`import_timeout`
+##### <a name="-mysql--db--import_timeout"></a>`import_timeout`
 
 Data type: `Any`
 
@@ -1206,21 +1233,21 @@
 
 Default value: `300`
 
-##### <a name="import_cat_cmd"></a>`import_cat_cmd`
-
-Data type: `Any`
+##### <a name="-mysql--db--import_cat_cmd"></a>`import_cat_cmd`
+
+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'`
 
-##### <a name="mysql_exec_path"></a>`mysql_exec_path`
+##### <a name="-mysql--db--mysql_exec_path"></a>`mysql_exec_path`
 
 Data type: `Any`
 
 
 
-Default value: ``undef``
+Default value: `undef`
 
 ## Resource types
 
@@ -1263,16 +1290,16 @@
 
 The following parameters are available in the `mysql_grant` type.
 
-* [`name`](#name)
-* [`provider`](#provider)
-
-##### <a name="name"></a>`name`
+* [`name`](#-mysql_grant--name)
+* [`provider`](#-mysql_grant--provider)
+
+##### <a name="-mysql_grant--name"></a>`name`
 
 namevar
 
 Name to describe the grant.
 
-##### <a name="provider"></a>`provider`
+##### <a name="-mysql_grant--provider"></a>`provider`
 
 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.
@@ -1353,10 +1380,10 @@
 
 The following parameters are available in the `mysql_login_path` type.
 
-* [`name`](#name)
-* [`owner`](#owner)
-
-##### <a name="name"></a>`name`
+* [`name`](#-mysql_login_path--name)
+* [`owner`](#-mysql_login_path--owner)
+
+##### <a name="-mysql_login_path--name"></a>`name`
 
 namevar
 
@@ -1364,7 +1391,7 @@
 
 Name of the login path you want to manage.
 
-##### <a name="owner"></a>`owner`
+##### <a name="-mysql_login_path--owner"></a>`owner`
 
 namevar
 
@@ -1410,16 +1437,16 @@
 
 The following parameters are available in the `mysql_plugin` type.
 
-* [`name`](#name)
-* [`provider`](#provider)
-
-##### <a name="name"></a>`name`
+* [`name`](#-mysql_plugin--name)
+* [`provider`](#-mysql_plugin--provider)
+
+##### <a name="-mysql_plugin--name"></a>`name`
 
 namevar
 
 The name of the MySQL plugin to manage.
 
-##### <a name="provider"></a>`provider`
+##### <a name="-mysql_plugin--provider"></a>`provider`
 
 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.
@@ -1485,23 +1512,23 @@
 
 The following parameters are available in the `mysql_user` type.
 
-* [`name`](#name)
-* [`provider`](#provider)
-
-##### <a name="name"></a>`name`
+* [`name`](#-mysql_user--name)
+* [`provider`](#-mysql_user--provider)
+
+##### <a name="-mysql_user--name"></a>`name`
 
 namevar
 
 The name of the user. This uses the 'username@hostname' or username@hostname.
 
-##### <a name="provider"></a>`provider`
+##### <a name="-mysql_user--provider"></a>`provider`
 
 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.
 
 ## Functions
 
-### <a name="mysqlnormalise_and_deepmerge"></a>`mysql::normalise_and_deepmerge`
+### <a name="mysql--normalise_and_deepmerge"></a>`mysql::normalise_and_deepmerge`
 
 Type: Ruby 4.x API
 
@@ -1548,7 +1575,7 @@
 
 Hash to be normalised
 
-### <a name="mysqlpassword"></a>`mysql::password`
+### <a name="mysql--password"></a>`mysql::password`
 
 Type: Ruby 4.x API
 
@@ -1571,9 +1598,9 @@
 
 Data type: `Optional[Boolean]`
 
-If the Postgresql-Passwordhash should be of Datatype Sensitive[String]
-
-### <a name="mysqlstrip_hash"></a>`mysql::strip_hash`
+If the mysql password hash should be of datatype Sensitive[String]
+
+### <a name="mysql--strip_hash"></a>`mysql::strip_hash`
 
 Type: Ruby 4.x API
 
@@ -1618,15 +1645,11 @@
 
 ## Data types
 
-### <a name="mysqloptions"></a>`Mysql::Options`
+### <a name="Mysql--Options"></a>`Mysql::Options`
 
 Use this if you don’t want your options merged with the default options.
 
-Alias of
-
-```puppet
-Hash[String, Hash]
-```
+Alias of `Hash[String, Hash]`
 
 ## Tasks