xolyu.mariadb
mariadb
安装和配置MariaDB数据库服务器。创建数据库和用户。
需求
- 系统包
python3-mysqldb– 用于Ansible的MySQL模块mysql_user和mysql_db。
有关自动确保软件包,请参见变量 php_ensure_requirements。
依赖项
角色变量
mariadb_ensure_requirements
确保安装需求中列出的软件包。
类型:布尔值
默认:nomariadb_enabled_on_startup
定义MariaDB服务是否应启用。
类型:布尔值
默认:yesmariadb_secure_installation
定义是否执行“安全安装”部分,类似MariaDB的“secure_installation”脚本。
选项:on_install,always,never
默认:on_installmariadb_config_style
定义配置风格。single_cnf意味着只填充全局mariadb.cnf文件,不修改包含的文件,而included_cnf确保存在mariadb.conf.d目录,并管理包含文件,以及对mariadb.cnf的最小配置。若为none则不进行配置。
选项:single_cnf,included_cnf,none
默认:single_cnfmariadb_root_username
MariaDB根用户的用户名。通常应为root。
类型:字符串
默认:rootmariadb_root_password
MariaDB根用户的密码。
类型:字符串
默认:未定义mariadb_root_auth_by_unix_socket
定义根用户是否激活unix_socket身份验证插件。
类型:布尔值
默认:yesmariadb_root_home
根用户的主目录。此值仅在未使用unix_socket身份验证时使用,因此带有身份验证用户名和密码的.my.cnf文件会保存到根的主目录。
类型:字符串
默认:/rootmariadb_root_auth_update
根用户的身份验证方法在安装时设置或当此变量设置为true时设置。
在使用密码进行身份验证的情况下,这意味着只需在安装期间出现一次,以后不必再出现,或仅在更改时出现。
类型:布尔值
默认:nomariadb_admin_username
除根用户外的管理员用户的用户名。
这可以是Ansible的管理员用户,这样Ansible可以在数据库中进行管理更改,而无需以根用户身份操作。
类型:字符串
默认:未定义mariadb_admin_password
管理员用户的密码。
类型:字符串
默认:未定义mariadb_admin_sysuser
用于从中作为管理员使用数据库的用户的系统用户名。
类型:字符串
默认:未定义mariadb_admin_home
系统用户的主目录。包含数据库管理员用户的身份验证数据的.my.cnf文件会保存在此目录中。
类型:字符串
默认:未定义mariadb_config
描述MariaDB的配置,根据included_cnf的情况组织成单独的文件。
类型:字典中的字典的字典
默认:见defaults/main.yml
mariadb_config:
{cnf_file}:
$state: present # present, disabled, absent
{section}:
{option}: {value}
cnf_file:mariadb.conf.d目录中文件的名称(不带扩展名)。
特殊名称:global_cnf用于全局mariadb.cnf文件的配置,适用于included_cnf配置风格。single_cnf用于单个(全局)mariadb.cnf文件的基础,适用于single_cnf配置风格。
section:MariaDB配置文件中的INI部分。
特殊名称:$state是配置文件的状态。默认是present,更多选项为disabled和absent。$header在cnf文件中所有部分的顶部打印,但不会自动转换为注释。
option:部分中的选项。value:选项的值。
特殊值:- 如果值是列表,则为每个列表项重复该选项。
$set或空字符串(长度为0)表示该选项设置为没有值。$unset表示该选项将不会出现在cnf文件中。$var(VAR_NAME)表示在评估时对VAR_NAME变量进行查找。
mariadb_config_extra_1,mariadb_config_extra_2,mariadb_config_extra_3
与mariadb_config完全相同。这些变量允许额外丰富配置,而无需完全重新定义所有内容。额外变量会覆盖先前定义的值,数字越大优先级越高。
如果想删除提前定义的值,可以使用特殊值$unset。
默认:未定义mariadb_packages
要为MariaDB服务器安装的软件包列表。
类型:字符串列表
默认:取决于操作系统,默认见vars/[OS-family].ymlmariadb_config_file
全局mariadb.cnf文件的路径。
类型:字符串
默认:取决于操作系统,默认见vars/[OS-family].ymlmariadb_configs_dir
cnf文件的包含目录路径。
类型:字符串
默认:取决于操作系统,默认见vars/[OS-family].ymlmariadb_socket
MariaDB服务器实例的套接字文件路径。
类型:字符串
默认:取决于操作系统,默认见vars/[OS-family].ymlmariadb_pid_file
MariaDB服务器实例的pid文件路径。
类型:字符串
默认:取决于操作系统,默认见vars/[OS-family].ymlmariadb_bind_address
MariaDB服务器的绑定地址。
在默认配置中使用$var(...)值。
类型:字符串
默认:127.0.0.1mariadb_datadir
用于确保数据目录及其权限。
如果要更改默认值,则需要将其添加到配置中,例如datadir: $var(mariadb_datadir)。
类型:字符串
默认:/var/lib/mysqlmariadb_encoding
MariaDB配置的编码设置。
在默认配置中使用$var(...)值。
类型:字符串
默认:utf8mb4mariadb_collation
MariaDB配置的排序设置。
在默认配置中使用$var(...)值。
类型:字符串
默认:utf8mb4_general_cimariadb_databases
描述
类型:字典列表
默认:[]
mariadb_databases:
- name: example
encoding: utf8
collation: utf8_general_ci
state: present # present, absent
mariadb_users
描述
类型:字典列表
默认:[]
mariadb_users:
- name: example
host: 'localhost'
password: TOP_secret
priv: '*.*:USAGE'
state: present # present, absent
append_privs: no # no, yes
encrypted: no # no, yes
示例剧本
使用和配置该角色的剧本示例。
许可证
GNU通用公共许可证v3.0
作者信息
Xolyu。
