xolyu.mariadb

mariadb

安装和配置MariaDB数据库服务器。创建数据库和用户。

需求

有关自动确保软件包,请参见变量 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_filemariadb.conf.d目录中文件的名称(不带扩展名)。
    特殊名称:

    • global_cnf用于全局mariadb.cnf文件的配置,适用于included_cnf配置风格。
    • single_cnf用于单个(全局)mariadb.cnf文件的基础,适用于single_cnf配置风格。
  • section:MariaDB配置文件中的INI部分。
    特殊名称:

    • $state是配置文件的状态。默认是present,更多选项为disabledabsent
    • $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].yml

  • mariadb_config_file
    全局mariadb.cnf文件的路径。
    类型:字符串
    默认:取决于操作系统,默认见vars/[OS-family].yml

  • mariadb_configs_dir
    cnf文件的包含目录路径。
    类型:字符串
    默认:取决于操作系统,默认见vars/[OS-family].yml

  • mariadb_socket
    MariaDB服务器实例的套接字文件路径。
    类型:字符串
    默认:取决于操作系统,默认见vars/[OS-family].yml

  • mariadb_pid_file
    MariaDB服务器实例的pid文件路径。
    类型:字符串
    默认:取决于操作系统,默认见vars/[OS-family].yml

  • mariadb_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。

关于项目

MariaDB installation and configuration

安装
ansible-galaxy install xolyu.mariadb
许可证
gpl-3.0
下载
1.6k
拥有者