diff --git a/mysql/defaults.yaml b/mysql/defaults.yaml index d987918..2d4f989 100644 --- a/mysql/defaults.yaml +++ b/mysql/defaults.yaml @@ -91,9 +91,18 @@ Debian: append: | !includedir /etc/mysql/conf.d/ CentOS: - server: mysql-server + # https://mariadb.com/blog/rhel7-transition-mysql-mariadb-first-look + {%- if salt['grains.get']('osmajorrelease') in ['7'] %} + {% set mysql_engine = 'mariadb' %} + {% set mysql_service = 'mariadb' %} + {%- else %} + {% set mysql_engine = 'mysql' %} + {% set mysql_service = 'mysqld' %} + {%- endif %} + + server: {{ mysql_engine }}-server + service: {{ mysql_service }} client: mysql - service: mysqld python: MySQL-python dev: mysql-devel config_directory: /etc/my.cnf.d/ @@ -103,8 +112,8 @@ CentOS: file: server.cnf sections: mysqld_safe: - log_error: /var/log/mysqld.log - pid_file: /var/run/mysqld/mysqld.pid + log_error: /var/log/{{ mysql_engine }}/mysqld.log + pid_file: /var/run/{{ mysql_engine }}/mysqld.pid mysqld: datadir: /var/lib/mysql socket: /var/lib/mysql/mysql.sock @@ -113,17 +122,26 @@ CentOS: bind_address: 127.0.0.1 symbolic_links: 0 RedHat: - server: mysql-server + # https://mariadb.com/blog/rhel7-transition-mysql-mariadb-first-look + {%- if salt['grains.get']('osmajorrelease') in ['7'] %} + {% set mysql_engine = 'mariadb' %} + {% set mysql_service = 'mariadb' %} + {%- else %} + {% set mysql_engine = 'mysql' %} + {% set mysql_service = 'mysqld' %} + {%- endif %} + + server: {{ mysql_engine }}-server + service: {{ mysql_service }} client: mysql - service: mysqld python: MySQL-python dev: mysql-devel config: file: /etc/my.cnf sections: mysqld_safe: - log_error: /var/log/mysqld.log - pid_file: /var/run/mysqld/mysqld.pid + log_error: /var/log/{{ mysql_engine }}/mysqld.log + pid_file: /var/run/{{ mysql_engine }}/mysqld.pid mysqld: datadir: /var/lib/mysql socket: /var/lib/mysql/mysql.sock diff --git a/mysql/server.sls b/mysql/server.sls index 8b795d8..21c789a 100644 --- a/mysql/server.sls +++ b/mysql/server.sls @@ -65,7 +65,7 @@ mysql_delete_anonymous_user_{{ host }}: # on arch linux: inital mysql datadirectory is not created mysql_install_datadir: cmd.run: -{% if mysql.version >= 5.7 %} +{% if mysql.version is defined and mysql.version >= 5.7 %} - name: mysqld --initialize-insecure --user=mysql --basedir=/usr --datadir={{ mysql_datadir }} {% else %} - name: mysql_install_db --user=mysql --basedir=/usr --datadir={{ mysql_datadir }} @@ -89,7 +89,7 @@ mysqld-packages: - debconf: mysql_debconf {% endif %} -{% if os_family in ['RedHat', 'Suse'] and mysql.version >= 5.7 %} +{% if os_family in ['RedHat', 'Suse'] and mysql.version is defined and mysql.version >= 5.7 %} # Initialize mysql database with --initialize-insecure option before starting service so we don't get locked out. mysql_initialize: cmd.run: @@ -106,7 +106,7 @@ mysqld: - enable: True - require: - pkg: {{ mysql.server }} -{% if os_family in ['RedHat', 'Suse'] and mysql.version >= 5.7 %} +{% if os_family in ['RedHat', 'Suse'] and mysql.version is defined and mysql.version >= 5.7 %} - cmd: mysql_initialize {% endif %} - watch: