xolyu.mariadb
mariadb
安装和配置MariaDB数据库服务器。创建数据库和用户。
需求
- 系统包
python3-mysqldb
– 用于Ansible的MySQL模块mysql_user
和mysql_db
。
有关自动确保软件包,请参见变量 php_ensure_requirements
。
依赖项
角色变量
mariadb_ensure_requirements
确保安装需求中列出的软件包。
类型:布尔值
默认:no
mariadb_enabled_on_startup
定义MariaDB服务是否应启用。
类型:布尔值
默认:yes
mariadb_secure_installation
定义是否执行“安全安装”部分,类似MariaDB的“secure_installation”脚本。
选项:on_install
,always
,never
默认:on_install
mariadb_config_style
定义配置风格。single_cnf
意味着只填充全局mariadb.cnf
文件,不修改包含的文件,而included_cnf
确保存在mariadb.conf.d
目录,并管理包含文件,以及对mariadb.cnf
的最小配置。若为none
则不进行配置。
选项:single_cnf
,included_cnf
,none
默认:single_cnf
mariadb_root_username
MariaDB根用户的用户名。通常应为root
。
类型:字符串
默认:root
mariadb_root_password
MariaDB根用户的密码。
类型:字符串
默认:未定义mariadb_root_auth_by_unix_socket
定义根用户是否激活unix_socket
身份验证插件。
类型:布尔值
默认:yes
mariadb_root_home
根用户的主目录。此值仅在未使用unix_socket
身份验证时使用,因此带有身份验证用户名和密码的.my.cnf
文件会保存到根的主目录。
类型:字符串
默认:/root
mariadb_root_auth_update
根用户的身份验证方法在安装时设置或当此变量设置为true
时设置。
在使用密码进行身份验证的情况下,这意味着只需在安装期间出现一次,以后不必再出现,或仅在更改时出现。
类型:布尔值
默认:no
mariadb_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.1
mariadb_datadir
用于确保数据目录及其权限。
如果要更改默认值,则需要将其添加到配置中,例如datadir: $var(mariadb_datadir)
。
类型:字符串
默认:/var/lib/mysql
mariadb_encoding
MariaDB配置的编码设置。
在默认配置中使用$var(...)
值。
类型:字符串
默认:utf8mb4
mariadb_collation
MariaDB配置的排序设置。
在默认配置中使用$var(...)
值。
类型:字符串
默认:utf8mb4_general_ci
mariadb_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。