mysql_db - Добавление или удаление баз данных MySQL на удалённом хосте.
Описание
- Добавление или удаление баз данных MySQL на удалённом хосте.
Требования (к хосту, на котором выполняется модуль)
- MySQLdb
- mysql (бинарник командной строки)
- mysqldump (бинарник командной строки)
Параметры
| параметр | обязателен | по умолчанию | выбор | комментарии |
|---|---|---|---|---|
| collation | нет | Режим сортировки (collation). Это относится только к новым таблицам/базам данных и не обновляет существующие, это ограничение MySQL. | ||
| config_file (добавлен в 2.0)
| нет | ~/.my.cnf | Указывает файл конфигурации, из которого должны быть считан пользователь и пароль. | |
| connect_timeout (добавлен в 2.1)
| нет | 30 | Тайм-аут подключения к серверу MySQL. | |
| encoding | нет | Режим кодировки, например utf8 или latin1_swedish_ci
| ||
| 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. если name=all Действует как опция --all-databases для mysqldump (Добавлена в 2.0) псевдонимы: db | ||
| quick (добавлен в 2.1)
| нет | True | Параметр, используемый для выгрузки больших таблиц | |
| single_transaction (добавлен в 2.1)
| нет | Выполнить дамп в одной транзакции | ||
| ssl_ca (добавлен в 2.0)
| нет | Путь к сертификату центра сертификации (CA). Этот параметр, если используется, должен указывать тот же сертификат, что и сервер. | ||
| ssl_cert (добавлен в 2.0)
| нет | Путь к клиенту сертификат открытого ключа. | ||
| ssl_key (добавлен в 2.0)
| нет | Путь к закрытому ключу клиента. | ||
| state | нет | present |
| Состояние базы данных |
| target | нет | Расположение на удалённом хосте файла дампа для чтения или записи. Поддерживаются несжатые файлы SQL ( .sql), а также сжатые файлы bzip2 (.bz2), gzip (.gz) и xz (Добавлен в 2.0). |
Примеры
- 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
Примечания
Примечание
- Требуется пакет python-mysqldb на удалённом хосте, а также бинарники mysql и mysqldump.
- Требуется пакет MySQLdb Python на удалённом хосте. Для Ubuntu это просто apt-get install python-mysqldb. (См. apt.) Для CentOS/Fedora это просто yum install MySQL-python. (См. yum.)
- И
login_passwordиlogin_userнеобходимы, когда вы передаёте учетные данные. Если ни одного из них нет, модуль попытается прочитать учетные данные из~/.my.cnf, и, наконец, вернётся к использованию стандартного логина MySQL 'root' без пароля.
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантирует обратной совместимости.
Для получения помощи в разработке модулей, если вам это интересно, прочитайте Справочную информацию сообщества и участие, Тестирование 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.4/mysql_db_module.html