bbatsche.MySQL

Rol de Ansible MySQL

Estado de Construcción Licencia Nombre del Rol Versión de Lanzamiento Descargas

Este rol instalará y configurará MySQL, MariaDB o Percona server y/o creará bases de datos y usuarios para esos servidores.

Por favor, tenga en cuenta que solo se puede instalar un servidor a la vez y este rol no soporta cambiar de un tipo de servidor a otro.

Variables del Rol

  • db_admin — Nombre de usuario de administrador a crear. El valor por defecto es "vagrant".
  • db_pass — Contraseña para el usuario administrador a crear. El valor por defecto es "vagrant".
  • env_name — Si este servidor se usará para "desarrollo", "producción", etc. El valor por defecto es "dev".
  • install_mysql — Instalar el servidor MySQL. El valor por defecto es no.
  • install_mariadb — Instalar el servidor MariaDB. El valor por defecto es no.
  • install_percona — Instalar el servidor Percona. El valor por defecto es no.
  • new_db_name — Nombre de la base de datos a crear. El valor por defecto es indefinido (omitido).
  • new_db_user — Nombre de usuario del nuevo usuario a crear. El valor por defecto es indefinido (omitido).
  • new_db_pass — Contraseña del nuevo usuario a crear. El valor por defecto es indefinido (omitido).
  • new_db_priv — Privilegios a otorgar al nuevo usuario. El valor por defecto es darles control total del servidor o de la base de datos (si está definida).
  • remove_root_user — Eliminar el usuario root durante la instalación. El valor por defecto es eliminarlo.
  • mysql_deb — URL del repositorio de MySQL para agregar a APT. El valor por defecto es "https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb".
  • mariadb_apt_key.trusty — Clave APT para instalar MariaDB en Trusty Tahr. El valor por defecto es "0xcbcb082a1bb943db".
  • mariadb_apt_key.xenial — Clave APT para instalar MariaDB en Xenial Xerus. El valor por defecto es "0xF1656F24C74CD1D8".
  • mariadb_version — Versión de MariaDB a instalar. El valor por defecto es "10.2".
  • mariadb_apt_mirror — Espejo desde el cual descargar MariaDB. El valor por defecto es "http://nyc2.mirrors.digitalocean.com".
  • percona_deb — URL del repositorio del servidor Percona para agregar a APT. El valor por defecto es "https://repo.percona.com/apt/percona-release_0.1-4.{{ ansible_distribution_release }}_all.deb".
  • percona_version — Versión del servidor Percona a instalar. El valor por defecto es "5.7".
  • mysql_socket — Ruta al socket de MySQL. El valor por defecto es "/var/run/mysqld/mysqld.sock".
  • mysql_enable_network — Si se debe permitir conexiones a la red externa. El valor por defecto es no.
  • mysql_sql_mode — Modo SQL a usar. El valor por defecto es "ANSI,TRADITIONAL".
  • mysql_max_connections — Número máximo de conexiones permitidas. El valor por defecto es "300".
  • mysql_wait_timeout — Tiempo de espera. El valor por defecto es "300".

Variables de Ajuste

MySQL tiene muchas configuraciones para ajustar su rendimiento y uso de recursos. Este rol admite establecer o calcular algunas de las más relevantes.

  • mysql_mem_percent — Porcentaje de la memoria total que MySQL debe usar. Esto no es un límite, sino un objetivo para calcular otras variables. El valor por defecto es "40".
  • innodb_buffer_pool_percent — Porcentaje de la memoria de MySQL a usar para el grupo de búfer de InnoDB. El valor por defecto es "90".
  • innodb_buffer_pool_size — Cantidad de memoria total a usar para el grupo de búfer de InnoDB. El valor por defecto se calcula en base a mysql_mem_percent y innodb_buffer_pool_percent.
  • innodb_buffer_pool_chunk_size — Tamaño del bloque de búfer del grupo InnoDB. El valor por defecto es "128M".
  • mysql_key_buffer_percent — Porcentaje de la memoria de MySQL a usar para el búfer clave. El valor por defecto es "40".
  • mysql_key_buffer_size — Cantidad de memoria total a usar para el búfer clave de MySQL. El valor por defecto se calcula en base a mysql_mem_percent y mysql_key_buffer_percent.
  • mysql_max_heap_table_size — Tamaño máximo de la tabla en heap. El valor por defecto se calcula en base a la memoria total.
  • mysql_open_files_limit — Límite de archivos abiertos. El valor por defecto es 32 por MB de memoria total.
  • mysql_tmp_table_size — Tamaño de la tabla temporal. El valor por defecto se calcula en base a la memoria total.

Variables de Validación de Contraseña

Este rol permite definir requisitos de validación de contraseña para su servidor. Esta configuración se omite en entornos de desarrollo.

  • mysql_password_policy — Política de contraseña de MySQL. El valor por defecto es "MEDIUM" (ignorada en MariaDB).
  • mysql_password_check_username — Verificar si la contraseña de un usuario contiene su nombre de usuario. El valor por defecto es "OFF" (ignorada en MariaDB).
  • mysql_password_length — Requisitos de longitud de contraseña. El valor por defecto es "5".
  • mysql_password_mixed_case_count — Número de caracteres en mayúsculas y minúsculas requeridos. El valor por defecto es "0".
  • mysql_password_number_count — Número de dígitos requeridos. El valor por defecto es "0".
  • mysql_password_special_char_count — Número de caracteres no alfanuméricos requeridos. El valor por defecto es "0".

Otras Variables de Ajuste

  • innodb_io_capacity — Capacidad IO de InnoDB. El valor por defecto es "400".
  • innodb_log_buffer_size — Tamaño del búfer de registro de InnoDB. El valor por defecto es "16M".
  • myisam_sort_buffer_size — Tamaño del búfer de ordenamiento de MyISAM. El valor por defecto es "128M".
  • mysql_bulk_insert_buffer_size — Tamaño del búfer de inserción masiva. El valor por defecto es "16M".
  • mysql_max_allowed_packet — Tamaño máximo del paquete permitido. El valor por defecto es "16M".
  • mysql_query_cache_type — Si habilitar o no la caché de consultas de MySQL. El valor por defecto es "ON".
  • mysql_query_cache_size — Tamaño de la caché de consultas. El valor por defecto es "32M" si la caché de consultas está habilitada, de lo contrario "0".
  • mysql_query_cache_limit — Límite de tamaño de consultas para la caché. El valor por defecto es "1M".
  • mysql_read_buffer_size — Tamaño del búfer de lectura. El valor por defecto es "2M".
  • mysql_read_rnd_buffer_size — Tamaño del búfer de lectura aleatoria. El valor por defecto es "2M".
  • mysql_sort_buffer_size — Tamaño del búfer de ordenamiento. El valor por defecto es "2M".
  • mysql_table_open_cache — Caché de tablas abiertas. El valor por defecto es "2000".

Ejemplo de Playbook

Instalar un servicio (MariaDB):

- hosts: servers
  roles:
     - role: bbatsche.MySQL
       install_mariadb: yes

Crear un nuevo usuario (suponiendo que un servicio ya está instalado y funcionando):

- hosts: servers
  roles:
     - role: bbatsche.MySQL
       new_db_user: my_new_user
       new_db_pass: n0tV3ry$ecuRe

Licencia

MIT

Pruebas

Incluido con este rol hay un conjunto de especificaciones para probar cada tarea individualmente o en conjunto. Para ejecutar estas pruebas, primero deberá tener Vagrant y VirtualBox instalados. Los archivos de especificación están escritos usando Serverspec así que necesitará Ruby y Bundler.

Para ejecutar el conjunto completo de especificaciones:

$ gem install bundler
$ bundle install
$ rake

El conjunto de especificaciones se dirigirá a Ubuntu Trusty Tahr (14.04), Xenial Xerus (16.04) y Bionic Bever (18.04).

Para ver las tareas de rake disponibles (y especificaciones):

$ rake -T

Estas especificaciones no están destinadas a probar la idempotencia. Están destinadas a verificar que las tareas especificadas cumplan con los pasos esperados. La idempotencia se prueba de forma independiente a través de pruebas de integración.

Acerca del proyecto

Simple role for installing the default version of MySQL for Ubuntu

Instalar
ansible-galaxy install bbatsche.MySQL
Licencia
mit
Descargas
4.8k
Propietario