mahdi22.mariadb_install

Ansible Ansible Galaxy

Rol de Ansible mariadb_install

Una rol de Ansible para instalar y asegurar MariaDB en distribuciones de RHEL/CentOS (7, 8), Debian (9, 10) y Ubuntu (20.04, 19.10, 18.04, 16.04). Las responsabilidades de este rol son:

  • Instalar paquetes de MariaDB desde los repositorios oficiales de MariaDB.
  • Configurar el servidor MariaDB.
  • Establecer la contraseña del root de la base de datos.
  • Eliminar usuarios anónimos.
  • Eliminar la base de datos de prueba.
  • Eliminar las conexiones remotas del root.
  • Crear una base de datos.
  • Crear un usuario de base de datos.
  • Importar archivos/*.sql a la base de datos.

Instalación

$ ansible-galaxy install mahdi22.mariadb_install

Variables del Rol

Configuración básica

Variable Predeterminado Comentarios
mariadb_version '10.4' Establece la versión de MariaDB: - v(10.5 10.4 10.3) RHEL/CentOS 8, Debian 10, Ubuntu 20.04, 19.10. - v(10.5 10.4 10.3 10.2 10.1) RHEL/CentOS 7, Debian 9, Ubuntu 18.04, 16.04
bind-address '127.0.0.1' Establezca esto a la dirección IP de la interfaz de red para escuchar o '0.0.0.0' para escuchar en todas las interfaces.
configure_swappiness 'True' Cuando True, este rol establecerá el valor de "swappiness" (ver mariadb_swappiness).
create_database 'False' Establezca create_database: True para crear la base de datos.
database '' Establezca el nombre de la base de datos. Debe usarse con create_database: true
port 3306 El número de puerto utilizado para escuchar las solicitudes de los clientes.
mysql_root_password 'azerty' Establezca la contraseña del root de MariaDB.
mariadb_service mariadb Nombre del servicio
swappiness '10' Valor de "Swappiness" (cadena). El valor predeterminado del sistema es 60. Un valor de 0 significa que se evita cambiar procesos.
create_db_user 'False' Establezca create_db_user: True para crear el usuario de la base de datos.
db_user_name '' Establezca el usuario que se añadirá. Debe usarse con create_database: true, create_db_user: true y la base de datos definida.
db_user_password '' Establezca la contraseña del usuario de la base de datos.
priviliges 'ALL' Establezca los privilegios del usuario de la base de datos.
mariadb_logrotate: rotate '7' Establezca el número de rotación de mariadb logrotate.
mariadb_logrotate: rotation 'daily' Establezca la rotación de mariadb logrotate.
use_proxy 'False' Establezca esta variable a True si los hosts gestionados están detrás de un proxy web... predeterminado False.
import_sql_file 'False' Establezca esta variable a True para importar archivos SQL en bases de datos... predeterminado False.
sql_file_name '[]' Lista de nombres de archivos SQL a importar en bases de datos (uno o más)... Esta variable debe definirse si import_sql_file es true.

Observaciones

(1) Para eliminar la conexión remota para el usuario root de mysql, establezca el parámetro deny_remote_connections: true. Por ejemplo: defaults/main.yml

deny_remote_connections: true

(2) ¡Se recomienda encarecidamente establecer la contraseña del root de la base de datos! Dejar la contraseña vacía es un riesgo de seguridad. El rol emitirá una advertencia si la variable no se establece. Contraseña predeterminada "azerty". defaults/main.yml

mysql_root_password: 'azerty'

(3) Para importar scripts SQL en las bases de datos, establezca import_sql_file: true, defina sql_file_name y coloque sus scripts SQL en el directorio de archivos (mahdi22.mariadb_install/files/). Por ejemplo: defaults/main.yml

import_sql_file: true
sql_file_name:
    - sqlscript1.sql
    - sqlscript2.sql
    - sqlscriptN.sql

Ejemplo de Playbook

Ejemplo de playbook para ejecutar el rol usando los parámetros y variables predeterminadas.

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes

Ejemplo de playbook para ejecutar el rol usando algunas variables.

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes
      vars:
        mariadb_version: "10.5"
        deny_remote_connections: true
        mysql_root_password: "azerty"
        create_database: true
        database: database_test
        create_db_user: true
        db_user_name: user_database
        db_user_password: password

Ejemplo de playbook para ejecutar el rol usando un proxy web.

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes
      vars:
        mariadb_version: "10.5"
        deny_remote_connections: true
        mysql_root_password: "azerty"
        create_database: true
        database: database_test
        create_db_user: true
        db_user_name: user_database
        db_user_password: password
        use_proxy: yes
        proxy_env:
          http_proxy: http://proxy.local:8080/
          https_proxy: http://proxy.local:8080/

Ejemplo de playbook para ejecutar el rol con importación de scripts SQL.

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes
      vars:
        mariadb_version: "10.5"
        deny_remote_connections: true
        mysql_root_password: "azerty"
        create_database: true
        database: database_test
        create_db_user: true
        db_user_name: user_database
        db_user_password: password
        use_proxy: yes
        proxy_env:
          http_proxy: http://proxy.local:8080/
          https_proxy: http://proxy.local:8080/
        import_sql_file: true
        sql_file_name:
          - sqlscript1.sql
          - sqlscript2.sql
          - sqlscriptN.sql

Pruebas

Este rol se ha probado en distribuciones de Linux:

  • RHEL/CentOS 8
  • RHEL/CentOS 7
  • Debian 10
  • Debian 9
  • Debian 8
  • Ubuntu 20.04
  • Ubuntu 19.10
  • Ubuntu 18.04
  • Ubuntu 16.04
Acerca del proyecto

Install and configure Mariadb server on Rhel/CentOS, Debian and Ubuntu ditributions

Instalar
ansible-galaxy install mahdi22.mariadb_install
Licencia
mit
Descargas
1.6k
Propietario