Merge pull request #139 from Routhinator/initialize_57_before_start

Check for MySQL 5.7 and act appropriately on Redhat/Arch
This commit is contained in:
Forrest 2016-09-14 09:27:07 -07:00 committed by GitHub
commit 60a9b57deb

View file

@ -64,13 +64,17 @@ mysql_delete_anonymous_user_{{ host }}:
# on arch linux: inital mysql datadirectory is not created # on arch linux: inital mysql datadirectory is not created
mysql_install_datadir: mysql_install_datadir:
cmd.run: cmd.run:
{% if pkg.version >= 5.7 %}
- name: mysqld --initialize-insecure --user=mysql --basedir=/usr --datadir=/var/lib/mysql
{% else %}
- name: mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql - name: mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
{% endif %}
- user: root - user: root
- creates: /var/lib/mysql/mysql/user.frm - creates: /var/lib/mysql/mysql/user.frm
- env: - env:
- TMPDIR: '/tmp' - TMPDIR: '/tmp'
- require: - require:
- pkg: {{ mysql.server }} - pkg: {{ mysql.server }}
- file: mysql_config - file: mysql_config
- require_in: - require_in:
- service: mysqld - service: mysqld
@ -84,12 +88,26 @@ mysqld-packages:
- debconf: mysql_debconf - debconf: mysql_debconf
{% endif %} {% endif %}
{% if os_family == 'RedHat' or 'Suse' and pkg.version >= 5.7 %}
# Initialize mysql database with --initialize-insecure option before starting service so we don't get locked out.
mysql_initialize:
cmd.run:
- name: mysqld --initialize-insecure --user=mysql --basedir=/usr --datadir=/var/lib/mysql
- user: root
- creates: /var/lib/mysql/mysql/
- require:
- pkg: {{ mysql.server }}
{% endif %}
mysqld: mysqld:
service.running: service.running:
- name: {{ mysql.service }} - name: {{ mysql.service }}
- enable: True - enable: True
- require: - require:
- pkg: {{ mysql.server }} - pkg: {{ mysql.server }}
{% if os_family == 'RedHat' or 'Suse' and pkg.version >= 5.7 %}
- cmd: mysql_initialize
{% endif %}
- watch: - watch:
- pkg: {{ mysql.server }} - pkg: {{ mysql.server }}
- file: mysql_config - file: mysql_config