diff --git a/mysql/osfamilymap.yaml b/mysql/osfamilymap.yaml index fd71133..2ddb339 100644 --- a/mysql/osfamilymap.yaml +++ b/mysql/osfamilymap.yaml @@ -20,8 +20,6 @@ Debian: max_allowed_packet: 16M thread_stack: 192K thread_cache_size: 8 - query_cache_limit: 1M - query_cache_size: 16M expire_logs_days: 10 max_binlog_size: 100M # innodb_flush_log_at_trx_commit: 1 diff --git a/mysql/server.sls b/mysql/server.sls index b9c4142..d1d451e 100644 --- a/mysql/server.sls +++ b/mysql/server.sls @@ -2,19 +2,32 @@ include: - .config - .python -{%- from tpldir ~ "/map.jinja" import mysql with context %} +{% from tpldir ~ "/map.jinja" import mysql with context %} -{%- set os = salt['grains.get']('os', None) %} -{%- set os_family = salt['grains.get']('os_family', None) %} -{%- set mysql_root_user = salt['pillar.get']('mysql:server:root_user', 'root') %} -{%- set mysql_root_password = salt['pillar.get']('mysql:server:root_password', salt['grains.get']('server_id')) %} -{%- set mysql_host = salt['pillar.get']('mysql:server:host', 'localhost') %} -{%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %} -{%- set mysql_salt_password = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_password) %} -{%- set mysql_datadir = salt['pillar.get']('mysql:server:mysqld:datadir', '/var/lib/mysql') %} -{%- if mysql_root_password %} -{%- if os_family == 'Debian' %} +{% set os = salt['grains.get']('os', None) %} +{% set os_family = salt['grains.get']('os_family', None) %} +{% set mysql_root_user = salt['pillar.get']('mysql:server:root_user', 'root') %} +{% set mysql_root_password = salt['pillar.get']('mysql:server:root_password', salt['grains.get']('server_id')) %} +{% set mysql_host = salt['pillar.get']('mysql:server:host', 'localhost') %} +{% set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %} +{% set mysql_salt_password = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_password) %} +{% set mysql_datadir = salt['pillar.get']('mysql:server:mysqld:datadir', '/var/lib/mysql') %} +{% set lsb_distrib_codename = salt['grains.get']('lsb_distrib_codename', None) %} +{% if mysql_root_password %} +{% if os_family == 'Debian' %} + +{% if mysql.serverpkg == 'mysql-community-server' %} +mysql-community-server_repo: + pkgrepo.managed: + - humanname: "Mysql official repo" + - name: deb http://repo.mysql.com/apt/ubuntu/ {{ lsb_distrib_codename }} mysql-8.0 + - file: /etc/apt/sources.list.d/mysql.list + - refresh: True + - require_in: + - pkg: mysql-community-server +{% endif %} + mysql_debconf_utils: pkg.installed: - name: {{ mysql.debconf_utils }} @@ -31,18 +44,32 @@ mysql_debconf: {%- if 'osmajorrelease' in grains and salt['grains.get']('osmajorrelease')|int < 9 or not salt['grains.get']('os')|lower == 'debian' %} +{% if mysql.serverpkg == 'mysql-community-server' %} +mysql_password_debconf: + debconf.set: + - name: 'mysql-community-server' + - data: + 'mysql-community-server/root-pass': {'type': 'password', 'value': '{{ mysql_root_password }}'} + 'mysql-community-server/re-root-pass': {'type': 'password', 'value': '{{ mysql_root_password }}'} + 'mysql-server/default-auth-override': {'type': 'string', 'value':'Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)'} + - require_in: + - pkg: {{ mysql.serverpkg }} + - require: + - pkg: mysql_debconf_utils +{% else %} mysql_password_debconf: debconf.set: - name: mysql-server - data: - 'mysql-server/root_password': {'type': 'password', 'value': '{{ mysql_root_password }}'} - 'mysql-server/root_password_again': {'type': 'password', 'value': '{{ mysql_root_password }}'} + '{{ mysql.serverpkg }}/root_password': {'type': 'password', 'value': '{{ mysql_root_password }}'} + '{{ mysql.serverpkg }}/root_password_again': {'type': 'password', 'value': '{{ mysql_root_password }}'} - require_in: - pkg: {{ mysql.serverpkg }} - require: - pkg: mysql_debconf_utils - {%- endif %} +{% endif %} + {% endif %} {%- elif os_family in ['RedHat', 'Suse', 'FreeBSD'] %} mysql_root_password: