robertdebock.mysql

Rol de Ansible mysql

Instala y configura mysql en tu sistema.

GitHub GitLab Descargas Versión
github gitlab downloads Version

Ejemplo de Playbook

Este ejemplo está tomado de molecule/default/converge.yml y se prueba en cada actualización, solicitud de extracción y lanzamiento.

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

La máquina necesita ser preparada. En CI esto se hace utilizando molecule/default/prepare.yml:

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

  roles:
    - role: robertdebock.bootstrap

También consulta una explicación completa y un ejemplo sobre cómo utilizar estos roles.

Variables de Rol

Los valores predeterminados para las variables están establecidos en defaults/main.yml:

---
# archivo de valores predeterminados para mysql

# La dirección a la que mysql debe vincularse.
mysql_bind_address: "127.0.0.1"

# El puerto en el que escuchar.
mysql_port: 3306

# La contraseña para el usuario root. También se almacena en my.cnf
mysql_root_password: "s3Cur31t4."

# El tamaño del buffer pool.
mysql_innodb_buffer_pool_size: 1G

# La capacidad de IO.
mysql_innodb_io_capacity: 4000

# Puedes establecer las opciones de mysql(d) aquí.
# Como esto es una lista, es difícil de combinar con otra lista.
# Esto significa que tendrías que redefinir toda la lista y añadir
# tus opciones a ella.
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"

Requisitos

Estado de los roles utilizados

Los siguientes roles se utilizan para preparar un sistema. Puedes preparar tu sistema de otra manera.

Requisito GitHub GitLab
robertdebock.bootstrap Estado de Construcción GitHub Estado de Construcción GitLab

Contexto

Este rol es parte de muchos roles compatibles. Consulta la documentación de estos roles para más información.

Aquí hay una visión general de los roles relacionados: dependencias

Compatibilidad

Este rol ha sido probado en estas imágenes de contenedor:

contenedor etiquetas
Debian bullseye
EL 9
Fedora todos
Ubuntu noble, jammy

La versión mínima de Ansible requerida es 2.12, se han realizado pruebas en:

  • La versión anterior.
  • La versión actual.
  • La versión de desarrollo.

Si encuentras problemas, regístralos en GitHub.

Licencia

Apache-2.0.

Información del Autor

robertdebock

Por favor considera patrocinándome.

Acerca del proyecto

Install and configure mysql on your system.

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