Skip to content
Snippets Groups Projects
Unverified Commit ec681995 authored by Géraud CONTINSOUZAS's avatar Géraud CONTINSOUZAS Committed by GitHub
Browse files

fix(freebsd): upgrade to mysql57-server


Current default version for FreeBSD is MySQL 5.7, also python 2.x is
deprecated and should be removed any time soon.

FreeBSD uses the `mysql_install_db` which generates a temporary root
password upon the first start. To the best of my understanding I haven't
seen any code in the formula that handles this method. So I added
a FreeBSD-scpecific block for initialization. While here, create
`/var/log/mysql` without which the server won't start if it doesn't
exist.

Co-authored-by: default avatarGeraud CONTINSOUZAS <geraud.continsouzas@skazy.nc>
parent 5bf7d57f
No related branches found
No related tags found
No related merge requests found
......@@ -206,14 +206,14 @@ Gentoo:
interactive_timeout: noarg_present
FreeBSD:
serverpkg: mysql56-server
clientpkg: mysql56-client
serverpkg: mysql57-server
clientpkg: mysql57-client
service: mysql-server
pythonpkg: py27-pymysql
devpkg: mysql56-server
pythonpkg: py37-pymysql
devpkg: mysql57-server
config:
file: /usr/local/etc/my.cnf
file: /usr/local/etc/mysql/my.cnf
sections:
client:
socket: /tmp/mysql.sock
......@@ -221,7 +221,7 @@ FreeBSD:
# Empty values below to be resolved, disabling the rule in the meantime
# yamllint disable rule:empty-values
user:
datadir:
datadir: /var/db/mysql
# yamllint enable rule:empty-values
socket: /tmp/mysql.sock
skip-external-locking: noarg_present
......
......@@ -143,13 +143,29 @@ mysql_initialize:
- pkg: {{ mysql.serverpkg }}
{%- endif %}
{%- if os_family in ['FreeBSD'] and mysql.serverpkg.lower() != 'mariadb-server' %}
mysql_initialize:
file.directory:
- name: /var/log/mysql
- user: mysql
- group: mysql
- mode: '0750'
cmd.run:
- name: /usr/local/libexec/mysqld --initialize-insecure --user=mysql --basedir=/usr/local --datadir={{ mysql_datadir }}
- runas: root
- creates: {{ mysql_datadir }}/mysql/
- require:
- pkg: {{ mysql.serverpkg }}
- file: /var/log/mysql
{%- endif %}
mysqld-service-running:
service.running:
- name: {{ mysql.service }}
- enable: True
- require:
- pkg: {{ mysql.serverpkg }}
{%- if (os_family in ['RedHat', 'Suse'] and mysql.version is defined and mysql.version >= 5.7 and mysql.serverpkg.lower() != 'mariadb-server') or (os_family in ['Gentoo']) %}
{%- if (os_family in ['RedHat', 'Suse'] and mysql.version is defined and mysql.version >= 5.7 and mysql.serverpkg.lower() != 'mariadb-server') or (os_family in ['Gentoo', 'FreeBSD']) %}
- cmd: mysql_initialize
{%- elif os_family in ['RedHat', 'Suse'] and mysql.serverpkg.lower() == 'mariadb-server' %}
- file: {{ mysql_datadir }}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment