Skip to content

Commit ec68199

Browse files
Géraud CONTINSOUZASGeraud CONTINSOUZAS
Géraud CONTINSOUZAS
and
Geraud CONTINSOUZAS
authored
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: Geraud CONTINSOUZAS <[email protected]>
1 parent 5bf7d57 commit ec68199

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

mysql/osfamilymap.yaml

+6-6
Original file line numberDiff line numberDiff line change
@@ -206,22 +206,22 @@ Gentoo:
206206
interactive_timeout: noarg_present
207207

208208
FreeBSD:
209-
serverpkg: mysql56-server
210-
clientpkg: mysql56-client
209+
serverpkg: mysql57-server
210+
clientpkg: mysql57-client
211211
service: mysql-server
212-
pythonpkg: py27-pymysql
213-
devpkg: mysql56-server
212+
pythonpkg: py37-pymysql
213+
devpkg: mysql57-server
214214

215215
config:
216-
file: /usr/local/etc/my.cnf
216+
file: /usr/local/etc/mysql/my.cnf
217217
sections:
218218
client:
219219
socket: /tmp/mysql.sock
220220
mysqld:
221221
# Empty values below to be resolved, disabling the rule in the meantime
222222
# yamllint disable rule:empty-values
223223
user:
224-
datadir:
224+
datadir: /var/db/mysql
225225
# yamllint enable rule:empty-values
226226
socket: /tmp/mysql.sock
227227
skip-external-locking: noarg_present

mysql/server.sls

+17-1
Original file line numberDiff line numberDiff line change
@@ -143,13 +143,29 @@ mysql_initialize:
143143
- pkg: {{ mysql.serverpkg }}
144144
{%- endif %}
145145
146+
{%- if os_family in ['FreeBSD'] and mysql.serverpkg.lower() != 'mariadb-server' %}
147+
mysql_initialize:
148+
file.directory:
149+
- name: /var/log/mysql
150+
- user: mysql
151+
- group: mysql
152+
- mode: '0750'
153+
cmd.run:
154+
- name: /usr/local/libexec/mysqld --initialize-insecure --user=mysql --basedir=/usr/local --datadir={{ mysql_datadir }}
155+
- runas: root
156+
- creates: {{ mysql_datadir }}/mysql/
157+
- require:
158+
- pkg: {{ mysql.serverpkg }}
159+
- file: /var/log/mysql
160+
{%- endif %}
161+
146162
mysqld-service-running:
147163
service.running:
148164
- name: {{ mysql.service }}
149165
- enable: True
150166
- require:
151167
- pkg: {{ mysql.serverpkg }}
152-
{%- 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']) %}
168+
{%- 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']) %}
153169
- cmd: mysql_initialize
154170
{%- elif os_family in ['RedHat', 'Suse'] and mysql.serverpkg.lower() == 'mariadb-server' %}
155171
- file: {{ mysql_datadir }}

0 commit comments

Comments
 (0)