mysql_db - Добавление или удаление баз данных MySQL на удалённом хосте.
Описание
- Добавление или удаление баз данных MySQL на удалённом хосте.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- MySQLdb (Python 2.x)
- PyMySQL (Python 2.7 и Python 3.X), или
- 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 bool (добавлен в 2.1) |
| Вариант, используемый для выгрузки больших таблиц |
| single_transaction bool (добавлен в 2.1) |
| Выполнить выгрузку в одной транзакции |
| ssl_ca (добавлен в 2.0) | Путь к сертификату Удостоверяющего центра (CA). Если используется, этот параметр должен указывать тот же сертификат, что и сервер. | |
| ssl_cert (добавлен в 2.0) | Путь к сертификату открытого ключа клиента. | |
| ssl_key (добавлен в 2.0) | Путь к закрытому ключу клиента. | |
| 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. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.
Автор
- Команда 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.6/modules/mysql_db_module.html