From 168d1e2c125b1efbb4808b67160a7c0a6a139c5f Mon Sep 17 00:00:00 2001 From: Wayne Gemmell Date: Fri, 18 Jan 2019 13:28:15 +0200 Subject: [PATCH 1/2] Support for official mysql 8 packages I've added support for the official mysql 8.0 packages and the relevant repositories. Package names are mysql-community-server and mysql-community-client. I know the repo setting breaks convention a bit but it is compulsory so I'm not sure how else to properly include it. This change requires the salt pull request I created https://github.com/saltstack/salt/pull/51240 to be able to grant users. --- mysql/osfamilymap.yaml | 2 -- mysql/server.sls | 37 ++++++++++++++++++++++++++++++++----- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/mysql/osfamilymap.yaml b/mysql/osfamilymap.yaml index b402d6f..eb306dc 100644 --- a/mysql/osfamilymap.yaml +++ b/mysql/osfamilymap.yaml @@ -27,8 +27,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 5f3e6f5..6d5160c 100644 --- a/mysql/server.sls +++ b/mysql/server.sls @@ -4,6 +4,7 @@ include: {% 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') %} @@ -12,9 +13,21 @@ include: {% 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 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-server + - name: 'mysql-community-server' - data: - 'mysql-server/root_password': {'type': 'password', 'value': '{{ mysql_root_password }}'} - 'mysql-server/root_password_again': {'type': 'password', 'value': '{{ mysql_root_password }}'} + '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.serverpkg }} + - data: + '{{ 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: From d57fd8318614e4a7ac29ffffeabd81eb6115685e Mon Sep 17 00:00:00 2001 From: N Date: Thu, 3 Dec 2020 23:28:38 +0000 Subject: [PATCH 2/2] Update server.sls --- mysql/server.sls | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql/server.sls b/mysql/server.sls index d1375ed..d1d451e 100644 --- a/mysql/server.sls +++ b/mysql/server.sls @@ -59,7 +59,7 @@ mysql_password_debconf: {% else %} mysql_password_debconf: debconf.set: - - name: {{ mysql.serverpkg }} + - name: mysql-server - data: '{{ mysql.serverpkg }}/root_password': {'type': 'password', 'value': '{{ mysql_root_password }}'} '{{ mysql.serverpkg }}/root_password_again': {'type': 'password', 'value': '{{ mysql_root_password }}'}