robertdebock.mysql

Rola Ansible mysql

Zainstaluj i skonfiguruj MySQL na swoim systemie.

GitHub GitLab Pobrania Wersja
github gitlab downloads Wersja

Przykładowy Playbook

Ten przykład pochodzi z molecule/default/converge.yml i jest testowany przy każdym pushu, pull requeście oraz wydaniu.

---
- name: Converge
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.mysql
      mysql_port: 3307
      mysql_databases:
        - name: my_db
          encoding: utf8
          collation: utf8_bin
      mysql_users:
        - name: my_user
          password: my_pass
          priv: "my_db.*:ALL"
          update_password: on_create

Maszyna musi być przygotowana. W CI odbywa się to za pomocą molecule/default/prepare.yml:

---
- name: Prepare
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap

Zobacz również pełne wyjaśnienie i przykład dotyczące używania tych ról.

Zmienne Roli

Domyślne wartości dla zmiennych są ustawione w defaults/main.yml:

---
# plik domyślny dla mysql

# Adres, do którego mysql powinien być przypisany.
mysql_bind_address: "127.0.0.1"

# Port, na którym ma nasłuchiwać.
mysql_port: 3306

# Hasło dla użytkownika root. Również zapisane w my.cnf
mysql_root_password: "s3Cur31t4."

# Rozmiar bufora.
mysql_innodb_buffer_pool_size: 1G

# Pojemność wejścia/wyjścia.
mysql_innodb_io_capacity: 4000

# Możesz ustawić opcje mysql(d) tutaj.
# Ponieważ jest to lista, trudno jest połączyć z inną listą.
# Oznacza to, że musisz zdefiniować całą listę i dodać
# swoje opcje do niej.
mysql_configuration_options:
  - option: bind-address
    section: mysqld
    value: "{{ mysql_bind_address }}"
  - option: port
    section: mysqld
    value: "{{ mysql_port }}"
  - option: socket
    section: mysqld
    value: "{{ mysql_socket }}"
  - section: mysqld
    option: innodb_buffer_pool_size
    value: "{{ mysql_innodb_buffer_pool_size }}"
  - section: mysqld
    option: innodb_io_capacity
    value: "{{ mysql_innodb_io_capacity }}"
  - section: mysqld
    option: log-bin-trust-function-creators
    value: "1"

Wymagania

Stan używanych ról

Następujące role są używane do przygotowania systemu. Możesz przygotować swój system w inny sposób.

Wymaganie GitHub GitLab
robertdebock.bootstrap Stan budowy GitHub Stan budowy GitLab

Kontekst

Ta rola jest częścią wielu zgodnych ról. Zapoznaj się z dokumentacją tych ról w celu uzyskania dalszych informacji.

Oto przegląd powiązanych ról: zależności

Kompatybilność

Ta rola została przetestowana na tych obrazach kontenerów:

kontener tagi
Debian bullseye
EL 9
Fedora wszystkie
Ubuntu noble, jammy

Minimalna wersja Ansible, która jest wymagana, to 2.12, testy zostały przeprowadzone na:

  • Wersji poprzedniej.
  • Wersji bieżącej.
  • Wersji deweloperskiej.

Jeśli napotkasz problemy, zgłoś je w GitHubie.

Licencja

Apache-2.0.

Informacje o autorze

robertdebock

Rozważ wsparcie mnie.

O projekcie

Install and configure mysql on your system.

Zainstaluj
ansible-galaxy install robertdebock.mysql
Licencja
apache-2.0
Pobrania
284.9k
Właściciel
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.