mysql_info – Сбор информации о серверах MySQL
Новое в версии 2.9.
Описание
- Сбор информации о серверах MySQL.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- PyMySQL (Python 2.7 и Python 3.X), или
- MySQLdb (Python 2.x)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_cert путь | Путь к сертификату центра сертификации (CA). Если используется, этот параметр должен указывать на тот же сертификат, что и сервер. Псевдонимы: ssl_ca | |
| client_cert путь | Путь к сертификату открытого ключа клиента. Псевдонимы: ssl_cert | |
| client_key путь | Путь к закрытому ключу клиента. Псевдонимы: ssl_key | |
| config_file путь | Значение по умолчанию: "~/.my.cnf" | Указать файл конфигурации для считывания имени пользователя и пароля. |
| connect_timeout целое число | Значение по умолчанию: 30 | Таймаут соединения при подключении к серверу MySQL. |
| filter список / элементы=строка | Ограничить собираемую информацию строкой через запятую или списком YAML. Допустимые значения: version, databases, settings, users, slave_status, slave_hosts, master_status, engines.По умолчанию собираются все подмножества. Можно использовать '!' перед значением (например, !settings) для исключения из информации.Если передать включающие и исключающие значения в фильтр, например, filter=!settings,version, исключающие значения, !settings в данном случае, будут проигнорированы. | |
| login_db строка | Имя базы данных для подключения. Это имеет смысл, если login_user имеет разрешение подключаться только к определенной базе данных. | |
| login_host строка | Значение по умолчанию: "localhost" | Хост, на котором работает база данных. |
| login_password строка | Пароль для аутентификации. | |
| login_port целое число | Значение по умолчанию: 3306 | Порт сервера MySQL. Требуется, если login_host задан не как localhost. |
| login_unix_socket строка | Путь к сокету Unix-доменного сокета для локальных подключений. | |
| login_user строка | Имя пользователя для аутентификации. |
Примечания
Примечание
- Требуется пакет 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' без пароля.
Примеры
# Display info from mysql-hosts group (using creds from ~/.my.cnf to connect):
# ansible mysql-hosts -m mysql_info
# Display only databases and users info:
# ansible mysql-hosts -m mysql_info -a 'filter=databases,users'
# Display only slave status:
# ansible standby -m mysql_info -a 'filter=slave_status'
# Display all info from databases group except settings:
# ansible databases -m mysql_info -a 'filter=!settings'
- name: Collect all possible information using passwordless root access
mysql_info:
login_user: root
- name: Get MySQL version with non-default credentials
mysql_info:
login_user: mysuperuser
login_password: mysuperpass
filter: version
- name: Collect all info except settings and users by root
mysql_info:
login_user: root
login_password: rootpass
filter: "!settings,!users"
- name: Collect info about databases and version using ~/.my.cnf as a credential file
become: yes
mysql_info:
filter:
- databases
- version
- name: Collect info about databases and version using ~alice/.my.cnf as a credential file
become: yes
mysql_info:
config_file: /home/alice/.my.cnf
filter:
- databases
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| databases словарь | если не исключено фильтром | Информация о базах данных. Пример: [{'mysql': {'size': 656594}, 'information_schema': {'size': 73728}}] | |
| size словарь | если не исключено фильтром | Размер базы данных в байтах. Пример: {'size': 656594} | |
| engines словарь | если не исключено фильтром | Информация о хранилищах данных сервера. Пример: [{'CSV': {'Comment': 'CSV storage engine', 'Savepoints': 'NO', 'Support': 'YES', 'Transactions': 'NO', 'XA': 'NO'}}] | |
| master_status словарь | если мастер | Информация о статусе мастера. Пример: [{'Binlog_Do_DB': '', 'Binlog_Ignore_DB': 'mysql', 'File': 'mysql-bin.000001', 'Position': 769}] | |
| settings словарь | если не исключено фильтром | Информация о глобальных настройках (переменных). Пример: [{'innodb_open_files': 300, 'innodb_page_size"': 16384}] | |
| slave_hosts словарь | если мастер | Информация о статусе подсистем. Пример: [{'2': {'Host': '', 'Master_id': 1, 'Port': 3306}}] | |
| slave_status словарь | если резервный | Информация о статусе подсистем. Пример: [{'192.168.1.101': {'3306': {'replication_user': {'Connect_Retry': 60, 'Exec_Master_Log_Pos': 769, 'Last_Errno': 0}}}}] | |
| users словарь | если не исключено фильтром | Информация о пользователях. Пример: [{'localhost': {'root': {'Alter_priv': 'Y', 'Alter_routine_priv': 'Y'}}}] | |
| version словарь | если не исключено фильтром | Версия сервера базы данных. Пример: {'version': {'major': 5, 'minor': 5, 'release': 60}} | |
| major целое число | если не исключено фильтром | Основная версия сервера. Пример: 5 | |
| minor целое число | если не исключено фильтром | Дополнительная версия сервера. Пример: 5 | |
| release целое число | если не исключено фильтром | Релизная версия сервера. Пример: 60 | |
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
- Данный модуль поддерживается сообществом Ansible. [community]
Авторы
- Andrew Klychkov (@Andersson007)
Подсказка
Если вы заметили какие-либо проблемы в данной документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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_info_module.html