robertdebock.mysql
Ansible-Rolle MySQL
Installiere und konfiguriere MySQL auf deinem System.
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
- Pip-Pakete, die in requirements.txt aufgeführt sind.
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 |
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:
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
Autoreninformationen
Bitte ziehe in Betracht, mich zu unterstützen.
Install and configure mysql on your system.
ansible-galaxy install robertdebock.mysql