mysql

Ansible роль mysql

Установите и настройте mysql на вашем компьютере.

GitHub GitLab Загрузки Версия
github gitlab downloads Версия

Пример Playbook

Этот пример взят из molecule/default/converge.yml и тестируется при каждом обновлении, запросе на изменение и выпуске.

---
- имя: Свести
  хосты: все
  стать: true
  собирать_факты: true

  роли:
    - роль: robertdebock.mysql
      mysql_port: 3307
      mysql_databases:
        - имя: my_db
          кодировка: utf8
          сортировка: utf8_bin
      mysql_users:
        - имя: my_user
          пароль: my_pass
          привилегии: "my_db.*:ALL"
          обновить_пароль: на_создание

Машину нужно подготовить. В CI это делается с помощью molecule/default/prepare.yml:

---
- имя: Подготовить
  хосты: все
  стать: true
  собирать_факты: false

  роли:
    - роль: robertdebock.bootstrap

Также смотрите полное объяснение и пример о том, как использовать эти роли.

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

Значения по умолчанию для переменных заданы в defaults/main.yml:

---
# файл по умолчанию для mysql

# Адрес, к которому должен привязываться mysql.
mysql_bind_address: "127.0.0.1"

# Порт для прослушивания.
mysql_port: 3306

# Пароль для пользователя root. Также хранится в my.cnf
mysql_root_password: "s3Cur31t4."

# Размер буфера.
mysql_innodb_buffer_pool_size: 1G

# Ёмкость ввода-вывода.
mysql_innodb_io_capacity: 4000

# Здесь вы можете установить параметры mysql(d).
# Поскольку это список, его трудно объединить с другим списком.
# Это означает, что вам нужно будет заново определить весь список и добавить
# свои параметры к нему.
mysql_configuration_options:
  - параметр: bind-address
    раздел: mysqld
    значение: "{{ mysql_bind_address }}"
  - параметр: port
    раздел: mysqld
    значение: "{{ mysql_port }}"
  - параметр: socket
    раздел: mysqld
    значение: "{{ mysql_socket }}"
  - раздел: mysqld
    параметр: innodb_buffer_pool_size
    значение: "{{ mysql_innodb_buffer_pool_size }}"
  - раздел: mysqld
    параметр: innodb_io_capacity
    значение: "{{ mysql_innodb_io_capacity }}"
  - раздел: mysqld
    параметр: log-bin-trust-function-creators
    значение: "1"

Требования

Состояние используемых ролей

Для подготовки системы используются следующие роли. Вы можете подготовить свою систему другим способом.

Требование GitHub GitLab
robertdebock.bootstrap Статус сборки GitHub Статус сборки GitLab

Контекст

Эта роль является частью множества совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.

Вот обзор связанных ролей: зависимости

Совместимость

Эта роль была протестирована на следующих образах контейнеров:

контейнер теги
Debian bullseye
EL 9
Fedora все
Ubuntu noble, jammy

Минимальная версия Ansible, необходимая для работы, - 2.12, тесты проводились для:

  • предыдущей версии.
  • текущей версии.
  • версии разработки.

Если вы обнаружите проблемы, пожалуйста, сообщите о них в GitHub.

Лицензия

Apache-2.0.

Информация об авторе

robertdebock

Пожалуйста, рассмотрите возможность спонсирования меня.

О проекте

Install and configure mysql on your system.

Установить
ansible-galaxy install robertdebock/ansible-role-mysql
Лицензия
apache-2.0
Загрузки
276202
Владелец
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.