Configuratiebestanden (MySQL): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 39: Regel 39:
 
== Backups ==
 
== Backups ==
  
Ik vermoed dat alle bestanden met de extensie <code>.cnf</code> worden uitgevoerd
+
Configuratiebestanden moeten welliswaar de extensie <code>.cnf</code> hebben, maar niet alle bestanden met de extensie <code>.cnf</code> worden automatisch uitgevoerd. Je kunt dus backups maken met namen zoals <code>my.cnf.bk01</code>.
  
 
== Voorbeeld: Aanpassen secure_file_priv ==
 
== Voorbeeld: Aanpassen secure_file_priv ==

Versie van 19 mei 2018 14:11

Altijd verwarrend waar je systeeminstellingen van MySQL aanpast. Daarnaast is MySQL nogal kritisch als het om wijzigingen gaat.

Spoorzoeken

Er is een verwarrend woud aan placeholder-configuratiebestanden, die ook nog 's allemaal naar elkaar lijken te verwijzen:

* /etc/mysql/

  * debian.cnf
  * debian-start
  * my.cnf → /etc/alternatives/my.cnf → /etc/mysql/mysql.cnf (echt waar!)
  * my.cnf.fallback
  * mysql.cnf

  * mysql.conf.d/
    * mysqld.cnf
    * mysqld_safe_syslog.cnf

Maar daar houdt het niet op, want dit is de inhoud van de 'placeholder' files hierboven:

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Niet meer spoorzoeken

Zie de uitleg in bestand mysql.cnf. Specifiek:

sudo rm /etc/mysql my.cnf
sudo cp /etc/mysql/mysql.cnf my.cnf

Gebruik nu bestand my.cnf voor eigen instellingen.

Backups

Configuratiebestanden moeten welliswaar de extensie .cnf hebben, maar niet alle bestanden met de extensie .cnf worden automatisch uitgevoerd. Je kunt dus backups maken met namen zoals my.cnf.bk01.

Voorbeeld: Aanpassen secure_file_priv

Vantevoren:

mysql> show variables like "secure_file_priv";
+------------------+----------------------------+
| Variable_name    | Value                      |
+------------------+----------------------------+
| secure_file_priv | /var/lib/mysql-files/      |
+------------------+----------------------------+
1 row in set (0,00 sec)

Ik heb bestand /etc/mysql/my.cnf aangepast. Dit is nu het hele bestand:

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

##################################################
# HERE IS MY OWN STUFF - STROMPF
##################################################
#
[mysqld]
secure-file-priv = ""

En het werkt:

mysql> show variables like "secure_file_priv";
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_file_priv |       |
+------------------+-------+
1 row in set (0,00 sec)