Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
путь
Путь к сертификату Центра сертификации (CA). Если используется, этот параметр должен указывать на тот же сертификат, что и сервер.

Псевдонимы: ssl_ca
client_cert
путь
Путь к сертификату открытого ключа клиента.

Псевдонимы: ssl_cert
client_key
путь
Путь к закрытому ключу клиента.

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

Псевдонимы: db
quick
булево
    Варианты:
  • нет
  • да ←
Параметр, используемый для дампинга больших таблиц
single_transaction
булево
    Варианты:
  • нет ←
  • да
Выполнить дамп в рамках одной транзакции
state
-
    Варианты:
  • наличие ←
  • отсутствие
  • дамп
  • импорт
Состояние базы данных
target
-
Расположение на удалённом хосте файла дампа для чтения или записи. Поддерживаются несжатые SQL-файлы (.sql) а также сжатые файли bzip2 (.bz2), gzip (.gz) и xz (Добавлена в 2.0).

Примечания

Примечание

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

Примеры

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

- name: Create new databases with names 'foo' and 'bar'
  mysql_db:
    name:
      - foo
      - bar
    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 multiple databases
  mysql_db:
    state: dump
    name: db_1,db_2
    target: /tmp/dump.sql

- name: Dump multiple databases
  mysql_db:
    state: dump
    name:
      - db_1
      - db_2
    target: /tmp/dump.sql

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

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

- name: Delete database with name 'bobdata'
  mysql_db:
    name: bobdata
    state: absent

- name: Make sure there is neither a database with name 'foo', nor one with name 'bar'
  mysql_db:
    name:
      - foo
      - bar
    state: absent

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
db
строка
всегда
Имена баз данных в формате строки, разделённые пробелами.

Пример:
foo bar
db_list
список
добавлен в 2.9
всегда
Список имён баз данных.

Пример:
['foo', 'bar']


Статус

  • Не гарантируется обратная совместимость этого модуля. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Команда разработчиков Ansible

Подсказка

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

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

Spec-Zone.ru

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