mirror of
https://github.com/saltstack-formulas/mysql-formula.git
synced 2025-04-15 17:20:25 +00:00
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 <geraud.continsouzas@skazy.nc>
This commit is contained in:
parent
5bf7d57f14
commit
ec681995b4
2 changed files with 23 additions and 7 deletions
|
@ -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 }}
|
||||
|
|
Loading…
Add table
Reference in a new issue