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.
37 lines
1.3 KiB
37 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
|
|
|