mysql_replication - Управление репликацией MySQL
Новая версия с 1.3.
Обзор
- Управляет репликацией сервера MySQL, получением статуса сервера-ведомого/ведущего и изменением хоста ведущего сервера.
Требования
Ниже приведены требования к хосту, на котором выполняется данный модуль.
- PyMySQL (Python 2.7 и Python 3.X) или
- MySQLdb (Python 2.x)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| config_file (добавлено в 2.0) | Значение по умолчанию: "~/.my.cnf" | Укажите конфигурационный файл, из которого нужно читать имя пользователя и пароль. |
| connect_timeout (добавлено в 2.1) | Значение по умолчанию: 30 | Таймаут соединения при подключении к серверу MySQL. |
| login_host | Значение по умолчанию: "localhost" | Хост, на котором работает база данных. |
| login_password | Пароль, используемый для аутентификации. | |
| login_port | Значение по умолчанию: 3306 | Порт сервера MySQL. Требуется, чтобы login_host был определен как отличная от localhost, если используется login_port. |
| login_unix_socket | Путь к сокету Unix доменной области для локальных подключений. | |
| login_user | Имя пользователя, используемое для аутентификации. | |
| master_auto_position (добавлено в 2.0) | Используется ли на хосте репликация на основе GTID? | |
| master_connect_retry | То же, что и переменная mysql | |
| master_host | То же, что и переменная mysql | |
| master_log_file | То же, что и переменная mysql | |
| master_log_pos | То же, что и переменная mysql | |
| master_password | То же, что и переменная mysql | |
| master_port | То же, что и переменная mysql | |
| master_ssl |
| То же, что и переменная mysql |
| master_ssl_ca | То же, что и переменная mysql | |
| master_ssl_capath | То же, что и переменная mysql | |
| master_ssl_cert | То же, что и переменная mysql | |
| master_ssl_cipher | То же, что и переменная mysql | |
| master_ssl_key | То же, что и переменная mysql | |
| master_user | То же, что и переменная mysql | |
| mode |
| Режим работы модуля. Может быть getslave (SHOW SLAVE STATUS), getmaster (SHOW MASTER STATUS), changemaster (CHANGE MASTER TO), startslave (START SLAVE), stopslave (STOP SLAVE), resetslave (RESET SLAVE), resetslaveall (RESET SLAVE ALL) |
| relay_log_file | То же, что и переменная mysql | |
| relay_log_pos | То же, что и переменная mysql | |
| ssl_ca (добавлено в 2.0) | Путь к сертификату Центра сертификации (CA). Если используется, этот параметр должен указывать тот же сертификат, что и сервер. | |
| ssl_cert (добавлено в 2.0) | Путь к сертификату открытого ключа клиента. | |
| ssl_key (добавлено в 2.0) | Путь к закрытому ключу клиента. |
Примечания
Примечание
- Требуется пакет 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', без пароля.
Примеры
# Stop mysql slave thread
- mysql_replication:
mode: stopslave
# Get master binlog file name and binlog position
- mysql_replication:
mode: getmaster
# Change master to master server 192.0.2.1 and use binary log 'mysql-bin.000009' with position 4578
- mysql_replication:
mode: changemaster
master_host: 192.0.2.1
master_log_file: mysql-bin.000009
master_log_pos: 4578
# Check slave status using port 3308
- mysql_replication:
mode: getslave
login_host: ansible.example.com
login_port: 3308
Статус
Этот модуль отмечен как превью, что означает, что интерфейс не гарантируется как обратная совместимость.
Техническое обслуживание
Этот модуль отмечен как сообщество, что означает, что его поддерживает сообщество Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.
Автор
- Balazs Pocze (@banyek)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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_replication_module.html