mariadb_install

Ansible Ansible Galaxy

Роль Ansible mariadb_install

Это роль Ansible для установки и настройки MariaDB на дистрибутивах RHEL/CentOS (7,8), Debian (9,10) и Ubuntu (20.04, 19.10, 18.04, 16.04). Основные задачи этой роли:

  • Установить пакеты MariaDB из официальных репозиториев MariaDB
  • Настроить сервер MariaDB
  • Установить пароль для пользователя root
  • Удалить анонимных пользователей
  • Удалить тестовую базу данных
  • Запретить удаленное соединение для root
  • Создать базу данных
  • Создать пользователя базы данных
  • Импортировать файлы/*.sql в базу данных

Установка

$ ansible-galaxy install mahdi22.mariadb_install

Переменные роли

Основная конфигурация

Переменная Значение по умолчанию Комментарии
mariadb_version '10.4' Установить версию MariaDB: - v(10.5 10.4 10.3) для RHEL/CentOS 8, Debian 10, Ubuntu 20.04, Ubuntu 19.10. - v(10.5 10.4 10.3 10.2 10.1) для RHEL/CentOS 7, Debian 9, Ubuntu 18.04, Ubuntu 16.04
bind-address '127.0.0.1' Установите IP-адрес сетевого интерфейса для прослушивания или '0.0.0.0' для прослушивания на всех интерфейсах.
configure_swappiness 'True' Если True, то эта роль установит значение "swappiness" (см. mariadb_swappiness).
create_database 'False' Установите create_database: True для создания базы данных.
database '' Укажите имя базы данных. Должно использоваться с create_database: true.
port 3306 Номер порта, который используется для прослушивания клиентских запросов
mysql_root_password 'azerty' Установите пароль для пользователя root MariaDB
mariadb_service mariadb Имя сервиса
swappiness '10' Значение "Swappiness" (строка). Значение по умолчанию 60. Значение 0 означает, что обмен процессов избегается.
create_db_user 'False' Установите create_db_user: True для создания пользователя базы данных.
db_user_name '' Укажите имя пользователя для добавления. Должно использоваться с create_database: true и create_db_user: true.
db_user_password '' Установите пароль для пользователя базы данных.
priviliges 'ALL' Установите права доступа для пользователя базы данных.
mariadb_logrotate: rotate '7' Установите число ротации для журнальных файлов MariaDB.
mariadb_logrotate: rotation 'daily' Установите частоту ротации для журнальных файлов MariaDB.
use_proxy 'False' Установите эту переменную в True, если управляемые хосты находятся за веб-прокси... по умолчанию False.
import_sql_file 'False' Установите эту переменную в True для импорта SQL файлов в базы данных... по умолчанию False.
sql_file_name '[]' Список имен SQL файлов для импорта в базы данных (один или несколько)... Эта переменная должна быть определена, если import_sql_file равно true.

Примечания

(1) Чтобы запретить удаленное соединение для пользователя mysql root, установите параметр deny_remote_connections: true. Например: defaults/main.yml

deny_remote_connections: true

(2) Настоятельно рекомендуется установить пароль для пользователя root базы данных! Оставлять пароль пустым — это угроза безопасности. Роль выдаст предупреждение, если переменная не установлена. Пароль по умолчанию "azerty" defaults/main.yml

mysql_root_password: 'azerty'

(3) Чтобы импортировать SQL скрипты в базы данных, установите import_sql_file: true, определите sql_file_name и разместите свои SQL скрипты в каталоге files (mahdi22.mariadb_install/files/). Например: defaults/main.yml

import_sql_file: true
sql_file_name:
    - sqlscript1.sql
    - sqlscript2.sql
    - sqlscriptN.sql

Пример Playbook

Пример Playbook для выполнения роли с использованием параметров и переменных по умолчанию

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes

Пример Playbook для выполнения роли с использованием некоторых переменных

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes
      vars:
        mariadb_version: "10.5"
        deny_remote_connections: true
        mysql_root_password: "azerty"
        create_database: true
        database: database_test
        create_db_user: true
        db_user_name: user_database
        db_user_password: password

Пример Playbook для выполнения роли с использованием Web Proxy

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes
      vars:
        mariadb_version: "10.5"
        deny_remote_connections: true
        mysql_root_password: "azerty"
        create_database: true
        database: database_test
        create_db_user: true
        db_user_name: user_database
        db_user_password: password
        use_proxy: yes
        proxy_env:
          http_proxy: http://proxy.local:8080/
          https_proxy: http://proxy.local:8080/

Пример Playbook для выполнения роли с импортом SQL скрипта

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes
      vars:
        mariadb_version: "10.5"
        deny_remote_connections: true
        mysql_root_password: "azerty"
        create_database: true
        database: database_test
        create_db_user: true
        db_user_name: user_database
        db_user_password: password
        use_proxy: yes
        proxy_env:
          http_proxy: http://proxy.local:8080/
          https_proxy: http://proxy.local:8080/
        import_sql_file: true
        sql_file_name:
          - sqlscript1.sql
          - sqlscript2.sql
          - sqlscriptN.sql

Тестирование

Эта роль протестирована на следующих дистрибутивах Linux:

  • RHEL/CentOS 8
  • RHEL/CentOS 7
  • Debian 10
  • Debian 9
  • Debian 8
  • Ubuntu 20.04
  • Ubuntu 19.10
  • Ubuntu 18.04
  • Ubuntu 16.04
О проекте

Install and configure Mariadb server on Rhel/CentOS, Debian and Ubuntu ditributions

Установить
ansible-galaxy install mahdi22/ansible-mariadb-install
Лицензия
mit
Загрузки
1509
Владелец