MySQL

Роль Ansible для MySQL

Статус сборки Лицензия Имя роли Версия релиза Скачивания

Эта роль устанавливает и настраивает MySQL, MariaDB или Percona сервер, а также создает базы данных и пользователей для этих серверов.

Обратите внимание, что одновременно может быть установлен только один сервер, и эта роль не поддерживает переключение с одного типа сервера на другой.

Переменные роли

  • db_admin — Имя администратора, который будет создан. По умолчанию "vagrant"
  • db_pass — Пароль для создаваемого администратора. По умолчанию "vagrant"
  • env_name — Укажет, используется ли сервер для "разработки", "производства" и т.д. По умолчанию "dev"
  • install_mysql — Устанавливать ли MySQL сервер. По умолчанию нет
  • install_mariadb — Устанавливать ли MariaDB сервер. По умолчанию нет
  • install_percona — Устанавливать ли Percona сервер. По умолчанию нет.
  • new_db_name — Имя базы данных для создания. По умолчанию не задано (пропущено)
  • new_db_user — Имя нового пользователя для создания. По умолчанию не задано (пропущено)
  • new_db_pass — Пароль нового пользователя для создания. По умолчанию не задано (пропущено)
  • new_db_priv — Привилегии для нового пользователя. По умолчанию - полные права на сервер или базу данных (если задана)
  • remove_root_user — Удалить пользователя root во время установки. По умолчанию удаляется.
  • mysql_deb — URL репозитория MySQL для добавления в APT. По умолчанию "https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb"
  • mariadb_apt_key.trusty — APT ключ для установки MariaDB на Trusty Tahr. По умолчанию "0xcbcb082a1bb943db"
  • mariadb_apt_key.xenial — APT ключ для установки MariaDB на Xenial Xerus. По умолчанию "0xF1656F24C74CD1D8"
  • mariadb_version — Версия MariaDB для установки. По умолчанию "10.2"
  • mariadb_apt_mirror — Зеркало для загрузки MariaDB. По умолчанию "http://nyc2.mirrors.digitalocean.com"
  • percona_deb — URL репозитория Percona сервера для добавления в APT. По умолчанию "https://repo.percona.com/apt/percona-release_0.1-4.{{ ansible_distribution_release }}_all.deb"
  • percona_version — Версия Percona сервера для установки. По умолчанию "5.7"
  • mysql_socket — Путь к MySQL сокету. По умолчанию "/var/run/mysqld/mysqld.sock"
  • mysql_enable_network — Слушать ли внешние сетевые подключения. По умолчанию нет
  • mysql_sql_mode — SQL режим для использования. По умолчанию "ANSI,TRADITIONAL"
  • mysql_max_connections — Максимальное количество допустимых соединений. По умолчанию "300"
  • mysql_wait_timeout — Тайм-аут ожидания. По умолчанию "300"

Переменные настройки

MySQL имеет множество настроек для оптимизации производительности и использования ресурсов. Эта роль поддерживает установку или расчет некоторых наиболее важных настроек.

  • mysql_mem_percent — Процент от общей памяти, который MySQL должен использовать. Это не ограничение, а скорее цель для расчета других переменных. По умолчанию "40"
  • innodb_buffer_pool_percent — Процент памяти MySQL, используемый для пула буферов InnoDB. По умолчанию "90"
  • innodb_buffer_pool_size — Общий объем памяти, используемой для пула буферов InnoDB. По умолчанию рассчитывается на основе mysql_mem_percent и innodb_buffer_pool_percent
  • innodb_buffer_pool_chunk_size — Размер чанка пула буферов InnoDB. По умолчанию "128M"
  • mysql_key_buffer_percent — Процент памяти MySQL, используемый для буфера ключей. По умолчанию "40"
  • mysql_key_buffer_size — Общий объем памяти, используемой для буфера ключей MySQL. По умолчанию рассчитывается на основе mysql_mem_percent и mysql_key_buffer_percent
  • mysql_max_heap_table_size — Максимальный размер кучи таблицы. По умолчанию рассчитывается на основе общей памяти
  • mysql_open_files_limit — Ограничение на открытые файлы. По умолчанию 32 на 1 МБ общей памяти
  • mysql_tmp_table_size — Размер временной таблицы. По умолчанию рассчитывается на основе общей памяти

Переменные проверки пароля

Эта роль позволяет задать требования к проверке паролей для вашего сервера. Эта настройка пропускается в средах разработки.

  • mysql_password_policy — Политика паролей MySQL. По умолчанию "MEDIUM" (игнорируется в MariaDB)
  • mysql_password_check_username — Проверять, содержит ли пароль пользователя его имя. По умолчанию "OFF" (игнорируется в MariaDB)
  • mysql_password_length — Требования к длине пароля. По умолчанию "5"
  • mysql_password_mixed_case_count — Количество требуемых символов разного регистра. По умолчанию "0"
  • mysql_password_number_count — Количество требуемых цифр. По умолчанию "0"
  • mysql_password_special_char_count — Количество требуемых неалфавитных символов. По умолчанию "0"

Другие переменные настройки

  • innodb_io_capacity — IO возможность InnoDB. По умолчанию "400"
  • innodb_log_buffer_size — Размер буфера журналов InnoDB. По умолчанию "16M"
  • myisam_sort_buffer_size — Размер буфера сортировки MyISAM. По умолчанию "128M"
  • mysql_bulk_insert_buffer_size — Размер буфера для массовой вставки. По умолчанию "16M"
  • mysql_max_allowed_packet — Максимальный разрешенный размер пакета. По умолчанию "16M"
  • mysql_query_cache_type — Включать ли кэш запросов MySQL. По умолчанию "ON"
  • mysql_query_cache_size — Размер кэша запросов. По умолчанию "32M", если кэш запросов включен, иначе "0"
  • mysql_query_cache_limit — Ограничение размера запросов для кэша. По умолчанию "1M"
  • mysql_read_buffer_size — Размер буфера чтения. По умолчанию "2M"
  • mysql_read_rnd_buffer_size — Размер буфера случайного чтения. По умолчанию "2M"
  • mysql_sort_buffer_size — Размер буфера сортировки. По умолчанию "2M"
  • mysql_table_open_cache — Кэш открытых таблиц. По умолчанию "2000"

Пример плейбука

Установка службы (MariaDB):

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

Создать нового пользователя (при условии, что служба уже установлена и запущена):

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

Лицензия

MIT

Тестирование

Включает в себя набор спецификаций для тестирования каждой задачи по отдельности или в целом. Чтобы запустить эти тесты, вам сначала нужно установить Vagrant и VirtualBox. Спецификации написаны с использованием Serverspec, поэтому вам понадобятся Ruby и Bundler.

Чтобы запустить полный набор спецификаций:

$ gem install bundler
$ bundle install
$ rake

Набор спецификаций будет нацелен на Ubuntu Trusty Tahr (14.04), Xenial Xerus (16.04) и Bionic Bever (18.04).

Чтобы увидеть доступные задачи rake (и спецификации):

$ rake -T

Эти спецификации не предназначены для проверки идемпотентности. Они предназначены для проверки того, что указанные задачи выполняют ожидаемые шаги. Идемпотентность тестируется независимо через интеграционное тестирование.

О проекте

Simple role for installing the default version of MySQL for Ubuntu

Установить
ansible-galaxy install bbatsche/Ansible-MySQL-Role
Лицензия
mit
Загрузки
4829
Владелец