Repository URL to install this package:
|
Version:
6.0.0 ▾
|
---
# task file for mysql
- name: "Set the correct delegated_dbhost (to support MySQL db deployment on a remote dbhost)"
set_fact:
delegated_dbhost: "{{ zabbix_proxy_dbhost if (zabbix_proxy_dbhost != 'localhost') else inventory_hostname }}"
when:
- zabbix_proxy_dbhost_run_install
- name: "Set the correct delegated_dbhost (to support MySQL db deployment on a remote dbhost)"
set_fact:
delegated_dbhost: "{{ inventory_hostname }}"
when:
- not zabbix_proxy_dbhost_run_install
- name: "Override delegated_dbhost with real dbhost when dbhost is behind loadbalancer"
set_fact:
delegated_dbhost: "{{ zabbix_proxy_real_dbhost }}"
when: zabbix_proxy_real_dbhost | default(false)
- name: "MySQL | Create database"
community.mysql.mysql_db:
name: "{{ zabbix_proxy_dbname }}"
encoding: "{{ zabbix_proxy_dbencoding }}"
collation: "{{ zabbix_proxy_dbcollation }}"
login_host: "{{ zabbix_proxy_mysql_login_host | default(omit) }}"
login_user: "{{ zabbix_proxy_mysql_login_user | default(omit) }}"
login_password: "{{ zabbix_proxy_mysql_login_password | default(omit) }}"
login_port: "{{ zabbix_proxy_mysql_login_port | default(omit) }}"
login_unix_socket: "{{ zabbix_proxy_mysql_login_unix_socket | default(omit) }}"
state: present
when: zabbix_database_creation
register: zabbix_database_created
delegate_to: "{{ delegated_dbhost }}"
tags:
- zabbix-proxy
- database
- skip_ansible_lint
- name: "MySQL | Create database user"
community.mysql.mysql_user:
login_host: "{{ zabbix_proxy_mysql_login_host | default(omit) }}"
login_user: "{{ zabbix_proxy_mysql_login_user | default(omit) }}"
login_password: "{{ zabbix_proxy_mysql_login_password | default(omit) }}"
login_port: "{{ zabbix_proxy_mysql_login_port | default(omit) }}"
login_unix_socket: "{{ zabbix_proxy_mysql_login_unix_socket | default(omit) }}"
name: "{{ zabbix_proxy_dbuser }}"
password: "{{ zabbix_proxy_dbpassword }}"
priv: "{{ zabbix_proxy_dbname }}.*:ALL"
host: "{{ zabbix_proxy_privileged_host }}"
state: present
when: zabbix_database_creation
delegate_to: "{{ delegated_dbhost }}"
tags:
- zabbix-proxy
- database
- name: "Get the file for schema.sql"
shell: ls -1 {{ datafiles_path }}/{{ 'schema' if zabbix_version is version('6.0', '<') else 'proxy' }}.sq*
changed_when: false
when:
- zabbix_database_sqlload
- zabbix_repo != "epel"
register: ls_output_create
tags:
- zabbix-proxy
- database
- name: "Check if we have done files"
stat:
path: /etc/zabbix/schema.done
register: done_file
when:
- zabbix_database_sqlload
- zabbix_repo != "epel"
- name: "MySQL | Get version_comment"
community.mysql.mysql_variables:
variable: version
login_host: "{{ zabbix_proxy_mysql_login_host | default(omit) }}"
login_user: "{{ zabbix_proxy_mysql_login_user | default(omit) }}"
login_password: "{{ zabbix_proxy_mysql_login_password | default(omit) }}"
login_port: "{{ zabbix_proxy_mysql_login_port | default(omit) }}"
login_unix_socket: "{{ zabbix_proxy_mysql_login_unix_socket | default(omit) }}"
delegate_to: "{{ delegated_dbhost }}"
register: install_mysql_version
tags:
- zabbix-proxy
- database
- name: "MySQL | Get current value for innodb_default_row_format"
community.mysql.mysql_variables:
variable: innodb_default_row_format
login_host: "{{ zabbix_proxy_mysql_login_host | default(omit) }}"
login_user: "{{ zabbix_proxy_mysql_login_user | default(omit) }}"
login_password: "{{ zabbix_proxy_mysql_login_password | default(omit) }}"
login_port: "{{ zabbix_proxy_mysql_login_port | default(omit) }}"
login_unix_socket: "{{ zabbix_proxy_mysql_login_unix_socket | default(omit) }}"
delegate_to: "{{ delegated_dbhost }}"
register: mysql_innodb_default_row_format
when:
- install_mysql_version.msg is version('5.6', '>=')
tags:
- zabbix-proxy
- database
- name: "MySQL | Set innodb_default_row_format to dynamic"
community.mysql.mysql_variables:
variable: innodb_default_row_format
value: dynamic
login_host: "{{ zabbix_proxy_mysql_login_host | default(omit) }}"
login_user: "{{ zabbix_proxy_mysql_login_user | default(omit) }}"
login_password: "{{ zabbix_proxy_mysql_login_password | default(omit) }}"
login_port: "{{ zabbix_proxy_mysql_login_port | default(omit) }}"
login_unix_socket: "{{ zabbix_proxy_mysql_login_unix_socket | default(omit) }}"
when:
- zabbix_version is version('3.0', '>=')
- zabbix_database_sqlload | bool
- zabbix_repo != "epel"
- not done_file.stat.exists
- install_mysql_version.msg is version('5.6', '>=')
- mysql_innodb_default_row_format.msg != 'dynamic'
delegate_to: "{{ delegated_dbhost }}"
tags:
- zabbix-proxy
- database
- name: "MySQL | Create database and import file"
community.mysql.mysql_db:
login_host: "{{ zabbix_proxy_mysql_login_host | default(omit) }}"
login_user: "{{ zabbix_proxy_mysql_login_user | default(omit) }}"
login_password: "{{ zabbix_proxy_mysql_login_password | default(omit) }}"
login_port: "{{ zabbix_proxy_mysql_login_port | default(omit) }}"
login_unix_socket: "{{ zabbix_proxy_mysql_login_unix_socket | default(omit) }}"
name: "{{ zabbix_proxy_dbname }}"
encoding: "{{ zabbix_proxy_dbencoding }}"
collation: "{{ zabbix_proxy_dbcollation }}"
state: import
target: "{{ ls_output_create.stdout }}"
when:
- zabbix_database_sqlload
- zabbix_repo != "epel"
- not done_file.stat.exists
delegate_to: "{{ delegated_dbhost }}"
tags:
- zabbix-proxy
- database
- name: "MySQL | Revert innodb_default_row_format to previous value"
community.mysql.mysql_variables:
variable: innodb_default_row_format
value: '{{ mysql_innodb_default_row_format.msg }}'
login_host: "{{ zabbix_proxy_mysql_login_host | default(omit) }}"
login_user: "{{ zabbix_proxy_mysql_login_user | default(omit) }}"
login_password: "{{ zabbix_proxy_mysql_login_password | default(omit) }}"
login_port: "{{ zabbix_proxy_mysql_login_port | default(omit) }}"
login_unix_socket: "{{ zabbix_proxy_mysql_login_unix_socket | default(omit) }}"
when:
- zabbix_version is version('3.0', '>=')
- zabbix_database_sqlload | bool
- zabbix_repo != "epel"
- not done_file.stat.exists
- mysql_innodb_default_row_format.msg != 'dynamic'
delegate_to: "{{ delegated_dbhost }}"
tags:
- zabbix-proxy
- database
- name: "Create done file"
file:
path: /etc/zabbix/schema.done
state: touch
mode: '0644'
when:
- zabbix_database_sqlload
- zabbix_repo != "epel"
- not done_file.stat.exists