mahdi22.mariadb_install

Ansible Ansible Galaxy

Rola Ansible mariadb_install

Jest to rola Ansible do instalacji i zabezpieczania MariaDB w dystrybucjach RHEL/CentOS (7, 8), Debian (9, 10) oraz Ubuntu (20.04, 19.10, 18.04, 16.04). Zadania tej roli obejmują:

  • Instalację pakietów MariaDB z oficjalnych repozytoriów MariaDB
  • Konfigurację serwera MariaDB
  • Ustawienie hasła roota dla bazy danych
  • Usunięcie anonimowych użytkowników
  • Usunięcie bazy testowej
  • Zablokowanie zdalnego połączenia roota
  • Utworzenie bazy danych
  • Utworzenie użytkownika bazy danych
  • Importowanie skryptów *.sql do bazy danych

Instalacja

$ ansible-galaxy install mahdi22.mariadb_install

Zmienne w roli

Podstawowa konfiguracja

Zmienna Domyślna wartość Komentarze
mariadb_version '10.4' Ustaw wersję MariaDB: - v(10.5 10.4 10.3) dla RHEL/CentOS 8, Debian 10, Ubuntu 20.04, Ubuntu 19.10. - v(10.5 10.4 10.3 10.2 10.1) dla RHEL/CentOS 7, Debian 9, Ubuntu 18.04, Ubuntu 16.04
bind-address '127.0.0.1' Ustaw to na adres IP interfejsu sieciowego, na którym ma nasłuchiwać, lub '0.0.0.0', aby nasłuchiwać na wszystkich interfejsach.
configure_swappiness 'True' Kiedy True, ta rola ustawi wartość "swappiness" (patrz mariadb_swappiness).
create_database 'False' Ustaw create_database: True, aby utworzyć bazę danych.
database '' Ustaw nazwę bazy danych, użyj z create_database: true.
port 3306 Numer portu, na którym ma nasłuchiwać na żądania klientów.
mysql_root_password 'azerty' Ustaw hasło roota dla MariaDB.
mariadb_service mariadb Nazwa usługi.
swappiness '10' Wartość "swappiness" (string). Domyślna wartość to 60. Wartość 0 oznacza, że unika się zamiany procesów.
create_db_user 'False' Ustaw create_db_user: True, aby utworzyć użytkownika bazy danych.
db_user_name '' Ustaw użytkownika do dodania. Powinno być użyte z create_database: true, create_db_user: true i zdefiniowaną bazą danych.
db_user_password '' Ustaw hasło dla użytkownika bazy danych.
priviliges 'ALL' Ustaw uprawnienia użytkownika bazy danych.
mariadb_logrotate: rotate '7' Ustaw liczbę rotacji dziennika mariadb.
mariadb_logrotate: rotation 'daily' Ustaw rotację dziennika mariadb.
use_proxy 'False' Ustaw tę zmienną na True, jeśli zarządzane hosty są za proxy webowym... domyślnie False.
import_sql_file 'False' Ustaw tę zmienną na True, aby zaimportować pliki SQL do baz danych... domyślnie False.
sql_file_name '[]' Lista nazw plików SQL do zaimportowania do baz danych (jeden lub więcej)... Ta zmienna powinna być zdefiniowana, jeśli import_sql_file jest true.

Uwagi

(1) Aby usunąć połączenie zdalne dla użytkownika root MySQL, ustaw parametr deny_remote_connections: true. Przykład: defaults/main.yml

deny_remote_connections: true

(2) Zaleca się ustawienie hasła roota bazy danych! Pozostawienie hasła pustego jest ryzykiem bezpieczeństwa. Rola wyda ostrzeżenie, jeśli zmienna nie została ustawiona. Domyślne hasło "azerty". defaults/main.yml

mysql_root_password: 'azerty'

(3) Aby zaimportować skrypt SQL do baz danych, ustaw import_sql_file: true, zdefiniuj sql_file_name i umieść swoje skrypty SQL w katalogu files (mahdi22.mariadb_install/files/). Przykład: defaults/main.yml

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

Przykładowy Playbook

Przykład playbooka do wykonania roli z domyślnymi parametrami i zmiennymi

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

Przykład playbooka do wykonania roli z niektórymi zmiennymi

- 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

Przykład playbooka do wykonania roli z użyciem 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/

Przykład playbooka do wykonania roli z importem skryptu 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

Testowanie

Ta rola została przetestowana na następujących dystrybucjach Linuxa:

  • RHEL/CentOS 8
  • RHEL/CentOS 7
  • Debian 10
  • Debian 9
  • Debian 8
  • Ubuntu 20.04
  • Ubuntu 19.10
  • Ubuntu 18.04
  • Ubuntu 16.04
O projekcie

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

Zainstaluj
ansible-galaxy install mahdi22.mariadb_install
Licencja
mit
Pobrania
1.6k
Właściciel