💻 Тестовое для ТрейдСофт
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.3 KiB

- name: fail if exporter host is missing
fail:
msg: mysql_target_host is not string
when: mysql_target_host is not string
- block:
- include_tasks: init_mysql.yml
- name: create exporter user
mysql_user:
name: "{{ mysql_exporter_username }}"
password: "{{ mysql_exporter_password }}"
plugin: mysql_native_password
host: "{{ container_address | d(ansible_host) }}"
resource_limits:
MAX_USER_CONNECTIONS: 3
priv:
'*.*': 'SELECT,BINLOG MONITOR,PROCESS'
'performance_schema.*': SELECT
login_host: "{{ hostvars[mysql_target_host]['container_address'] | d(hostvars[mysql_target_host]['ansible_host']) }}"
login_user: "{{ hostvars[mysql_target_host]['mysql_root_username'] | d('root') }}"
login_password: "{{ hostvars[mysql_target_host]['mysql_root_password'] | d(omit) }}"
register: result
- name: flush privileges
mysql_query:
query: FLUSH PRIVILEGES
login_host: "{{ hostvars[mysql_target_host]['container_address'] | d(hostvars[mysql_target_host]['ansible_host']) }}"
login_user: "{{ hostvars[mysql_target_host]['mysql_root_username'] | d('root') }}"
login_password: "{{ hostvars[mysql_target_host]['mysql_root_password'] | d(omit) }}"
when: result.changed
delegate_to: localhost