lechuckroh.mariadb
Rola Ansible mariadb
Rola Ansible do zarządzania MariaDB.
- Instalacja pakietów MariaDB z oficjalnego repozytorium.
- Ustawienie/zresetowanie hasła roota.
- Usunięcie bazy danych test.
- Usunięcie anonimowych użytkowników.
- Tworzenie użytkowników i baz danych.
- Zarządzanie plikiem konfiguracyjnym my.cnf
- Replikacja
Ustalony ustawienia:
- Silnik magazynowania: InnoDB
Testowane na:
- CentOS 7.4
- Ubuntu 16.04 (Xenial)
- Ubuntu 18.04 (Bionic)
- MariaDB 10.3
Wymagania
Brak wymagań
Zmienne roli
| Zmienna | Domyślna | Uwagi | 
|---|---|---|
| mariadb_bind_address | '127.0.0.1' | Adres IP interfejsu sieciowego, na którym nasłuchiwać. '0.0.0.0' dla wszystkich interfejsów. | 
| mariadb_binlog_format | 'ROW' | format logowania binarnego ( STATEMENT,ROW,MIXED) | 
| mariadb_charset | 'utf8' | |
| mariadb_collation | 'utf8_general_ci' | |
| mariadb_databases | [] | bazy danych do dodania. Zobacz mysql_db | 
| mariadb_enabled_on_startup | true | 'true': włącz MariaDB przy starcie. | 
| mariadb_expire_logs_days | 10 | liczba dni przed automatycznym usunięciem plików logów binarnych. | 
| mariadb_group_concat_max_len | 1024 | |
| mariadb_innodb_buffer_pool_size | 256M | |
| mariadb_innodb_file_per_table | ON | |
| mariadb_innodb_flush_log_at_trx_commit | 1 | |
| mariadb_innodb_log_buffer_size | 8M | |
| mariadb_innodb_log_file_size | 64M | |
| mariadb_innodb_lock_wait_timeout | 50 | |
| mariadb_join_buffer_size | 256K | |
| mariadb_key_buffer_size | 256M | |
| mariadb_lower_case_table_names | 1 | 0: uwzględnia wielkość liter(Linux), 1: przechowywane w małych literach, bez uwzględniania wielkości liter(Windows), 2: przechowywane tak jak zadeklarowano, porównywane w małych literach(OSX) | 
| mariadb_max_allowed_packet | 64M | |
| mariadb_max_binlog_size | 100M | maksymalny rozmiar logu binarnego (4096 byte ~ 1GB) | 
| mariadb_max_connections | 151 | |
| mariadb_max_heap_table_size | 16M | |
| mariadb_myisam_sort_buffer_size | 64M | |
| mariadb_mysqldump_max_allowed_packet | 64M | |
| mariadb_overwrite_global_mycnf | true | true: globalnymy.cnfpowinien być nadpisywany za każdym razem, gdy ta rola jest uruchamiana. | 
| mariadb_port | 3306 | numer portu | 
| mariadb_read_buffer_size | 1M | |
| mariadb_read_rnd_buffer_size | 4M | |
| mariadb_replication_master | '' | master replikacji | 
| mariadb_replication_master_host | '' | host master replikacji (domyślnie: hostvars[mariadb_replication_master]['ansible_host']) | 
| mariadb_replication_role | '' | rola replikacji ( master,slave) | 
| mariadb_replication_user | [] | użytkownik replikacji ( name,passwordwymagane) | 
| mariadb_root_password | 'root' | hasło roota | 
| mariadb_root_remote | no | yes: włącz zdalne logowanie roota | 
| mariadb_root_remote_host | '%' | host, na którym włączone zdalne logowanie roota | 
| mariadb_server_id | '' | id serwera (replikacja) | 
| mariadb_skip_name_resolve | 1 | |
| mariadb_sort_buffer_size | 1M | |
| mariadb_sql_mode | NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION, STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO | |
| mariadb_table_open_cache | 256 | |
| mariadb_thread_cache_size | 8 | |
| mariadb_tmp_table_size | 16M | |
| mariadb_users | [] | użytkownicy do dodania | 
| mariadb_version | '10.3' | wersja MariaDB do zainstalowania | 
| mariadb_wait_timeout | 28800 | 
Zależności
Brak zależności
Przykładowy Playbook
Utworzenie bazy danych i użytkowników
---
- name: przykład
  hosts: all
  become: true
  vars:
    mariadb_bind_address: '0.0.0.0'
    mariadb_root_password: 'root'
    mariadb_root_remote: yes
    mariadb_databases:
    - name: dev
    mariadb_users:
    - name: dev
      password: 'devdev'
      priv: "dev.*:ALL"
      host: "%"
  roles:
  - lechuckroh.mariadb     
Replikacja
hosty w inwentarzu
mariadb-master ansible_host=192.168.50.11 ansible_user=vagrant
mariadb-slave ansible_host=192.168.50.12 ansible_user=vagrant
Playbook master
---
- name: Instalacja mysql na Master
  hosts: mariadb-master
  become: true
  vars:
    mariadb_bind_address: '0.0.0.0'
    mariadb_root_password: 'root'
    mariadb_databases:
    - name: dev1
    - name: dev2
      replicate: yes
    - name: dev3
      replicate: no
    mariadb_users:
    - name: dev
      password: 'devdev'
      priv: "dev*.*:ALL"
      host: "%"
    mariadb_server_id: 1
    mariadb_max_binlog_size: 100M
    mariadb_binlog_format: ROW
    mariadb_expire_logs_days: 10
    mariadb_replication_role: master
    mariadb_replication_master: mariadb-master
    mariadb_replication_user:
      name: repl
      password: repl
  tasks:
  - include_role:
      name: lechuckroh.mariadb
Playbook slave
---
- name: Instalacja mysql na Master
  hosts: mariadb-slave
  become: true
  vars:
    mariadb_bind_address: '0.0.0.0'
    mariadb_root_password: 'root'
    mariadb_databases:
    - name: dev1
    - name: dev2
    mariadb_server_id: 2
    mariadb_replication_role: master
    mariadb_replication_master: mariadb-master
    mariadb_replication_user:
      name: repl
      password: repl
  tasks:
  - include_role:
      name: lechuckroh.mariadb
Licencja
MIT
Zainstaluj
 ansible-galaxy install lechuckroh.mariadbLicencja
 
            mit
          
Pobrania
 
            87
          
Właściciel
 