Spec-Zone.ru › Ansible 2.5

mysql_db - Добавление или удаление баз данных MySQL на удалённом хосте.

  • Описание
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Статус
    • Автор

Описание

  • Добавление или удаление баз данных MySQL на удалённом хосте.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • MySQLdb (Python 2.x)
  • PyMySQL (Python 2.7 и Python 3.X), или
  • mysql (бинарная команда)
  • mysqldump (бинарная команда)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
collation Значение по умолчанию:
None
Режим сортировки (collation). Это относится только к новым таблицам/базам данных и не обновляет существующие, это ограничение MySQL.
config_file
(добавлено в 2.0)
Значение по умолчанию:
~/.my.cnf
Укажите файл конфигурации, из которого следует читать имя пользователя и пароль.
connect_timeout
(добавлено в 2.1)
Значение по умолчанию:
30
Таймаут соединения при подключении к серверу MySQL.
encoding Значение по умолчанию:
None
Режим кодировки для использования, примеры включают utf8 или latin1_swedish_ci
login_host Значение по умолчанию:
localhost
Хост, на котором работает база данных.
login_password Значение по умолчанию:
None
Пароль, используемый для аутентификации.
login_port Значение по умолчанию:
3306
Порт сервера MySQL. Требуется, чтобы login_host был определён не как localhost, если используется login_port.
login_unix_socket Значение по умолчанию:
None
Путь к Unix-доменному сокету для локальных соединений.
login_user Значение по умолчанию:
None
Имя пользователя, используемое для аутентификации.
name
обязательно
Значение по умолчанию:
None
Имя базы данных для добавления или удаления
name=all Может быть указано только если state равен dump или import.
если name=all Работает как опция --all-databases для mysqldump (Добавлено в 2.0)

псевдонимы: db
quick
(добавлено в 2.1)
Значение по умолчанию:
yes
Опция, используемая для дампинга больших таблиц
single_transaction
(добавлено в 2.1)
Значение по умолчанию:
no
Выполнить дамп в рамках одной транзакции
ssl_ca
(добавлено в 2.0)
Значение по умолчанию:
None
Путь к сертификату Центра сертификации (CA). При использовании этой опции необходимо указать тот же сертификат, что и сервер использует.
ssl_cert
(добавлено в 2.0)
Значение по умолчанию:
None
Путь к сертификату открытого ключа клиента.
ssl_key
(добавлено в 2.0)
Значение по умолчанию:
None
Путь к закрытому ключу клиента.
state
    Варианты:
  • present ←
  • absent
  • dump
  • import
Состояние базы данных
target
Расположение, на удалённом хосте, файла дампа для чтения или записи. Поддерживаются нескомпрессированные файлы SQL (.sql) а также сжатые bzip2 (.bz2), gzip (.gz) и xz (Добавлено в 2.0).

Примечания

Примечание

  • Требуется пакет PyMySQL (Python 2.7 и Python 3.X) или MySQL-python (Python 2.X) на удалённом хосте, а также бинарные файлы mysql и mysqldump.
  • Этот модуль не идемпотентен, когда state равен import, и будет импортировать файл дампа каждый раз, если запущен более одного раза.
  • Требуется пакет PyMySQL (Python 2.7 и Python 3.X) или MySQL-python (Python 2.X) для Python на удалённом хосте. Для Ubuntu это так же просто, как apt-get install python-pymysql. (См. apt.) Для CentOS/Fedora так же просто, как yum install python2-PyMySQL. (См. yum.)
  • И login_password и login_user требуются, когда вы передаёте учётные данные. Если их нет, модуль попытается прочитать учётные данные из ~/.my.cnf, и, наконец, вернётся к использованию стандартного логина MySQL ‘root’ без пароля.

Примеры

- name: Create a new database with name 'bobdata'
  mysql_db:
    name: bobdata
    state: present

# Copy database dump file to remote host and restore it to database 'my_db'
- name: Copy database dump file
  copy:
    src: dump.sql.bz2
    dest: /tmp
- name: Restore database
  mysql_db:
    name: my_db
    state: import
    target: /tmp/dump.sql.bz2

- name: Dump all databases to hostname.sql
  mysql_db:
    state: dump
    name: all
    target: /tmp/{{ inventory_hostname }}.sql

- name: Import file.sql similar to mysql -u <username> -p <password> < hostname.sql
  mysql_db:
    state: import
    name: all
    target: /tmp/{{ inventory_hostname }}.sql

Статус

Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.

Автор

  • Команда Ansible Core

Подсказка

Если вы обнаружите какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/mysql_db_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API