mirror of
https://github.com/saltstack-formulas/mysql-formula.git
synced 2025-04-15 17:20:25 +00:00
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.
This commit is contained in:
parent
8f2e6ad770
commit
168d1e2c12
2 changed files with 32 additions and 7 deletions
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Add table
Reference in a new issue