robertdebock.mysql

Ansible-Rolle MySQL

Installiere und konfiguriere MySQL auf deinem System.

GitHub GitLab Downloads Version
github gitlab downloads Version

Beispiel Playbook

Dieses Beispiel stammt aus molecule/default/converge.yml und wird bei jedem Push, Pull-Request und Release getestet.

---
- name: Konvergenz
  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

Die Maschine muss vorbereitet werden. In CI geschieht dies mit molecule/default/prepare.yml:

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

  roles:
    - role: robertdebock.bootstrap

Siehe auch eine vollständige Erklärung und Beispiel, wie man diese Rollen verwendet.

Rollenvariablen

Die Standardwerte für die Variablen sind in defaults/main.yml festgelegt:

---
# Standarddatei für MySQL

# Die Adresse, an die MySQL gebunden werden soll.
mysql_bind_address: "127.0.0.1"

# Der Port, auf dem zugehört werden soll.
mysql_port: 3306

# Das Passwort für den Root-Benutzer setzen. Auch in my.cnf gespeichert.
mysql_root_password: "s3Cur31t4."

# Die Größe des Pufferpools.
mysql_innodb_buffer_pool_size: 1G

# Die IO-Kapazität.
mysql_innodb_io_capacity: 4000

# Hier kannst du die MySQL(d)-Optionen setzen.
# Da dies eine Liste ist, ist es schwierig, mit einer anderen Liste zu kombinieren.
# Das bedeutet, dass du die gesamte Liste neu definieren und deine Optionen hinzufügen musst.
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"

Anforderungen

Status der verwendeten Rollen

Die folgenden Rollen werden verwendet, um ein System vorzubereiten. Du kannst dein System auch auf andere Weise vorbereiten.

Anforderung GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab

Kontext

Diese Rolle ist Teil vieler kompatibler Rollen. Sieh dir die Dokumentation dieser Rollen für weitere Informationen an.

Hier ist eine Übersicht der verwandten Rollen: Abhängigkeiten

Kompatibilität

Diese Rolle wurde auf diesen Container-Images getestet:

Container Tags
Debian bullseye
EL 9
Fedora alle
Ubuntu noble, jammy

Die Mindestversion von Ansible, die erforderlich ist, beträgt 2.12. Tests wurden durchgeführt auf:

  • Der vorherigen Version.
  • Der aktuellen Version.
  • Der Entwicklungsversion.

Falls du Probleme findest, registriere sie bitte in GitHub.

Lizenz

Apache-2.0.

Autoreninformationen

robertdebock

Bitte ziehe in Betracht, mich zu unterstützen.

Über das Projekt

Install and configure mysql on your system.

Installieren
ansible-galaxy install robertdebock.mysql
Lizenz
apache-2.0
Downloads
284.9k
Besitzer
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.