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 |
| Состояние базы данных |
| 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