Configuratiebestanden (MySQL): verschil tussen versies
Regel 33: | Regel 33: | ||
== Niet meer spoorzoeken == | == Niet meer spoorzoeken == | ||
− | |||
− | |||
Voor systeem-brede aanpassingen: | Voor systeem-brede aanpassingen: | ||
<pre> | <pre> | ||
− | + | cd /etc/mysql | |
− | sudo cp | + | sudo mv my.cnf my.cnf.oud |
+ | sudo cp mysql.cnf my.cnf | ||
</pre> | </pre> | ||
Gebruik nu bestand <code>my.cnf</code> voor eigen instellingen. | Gebruik nu bestand <code>my.cnf</code> voor eigen instellingen. | ||
− | Verder vind je default-instellingen in <code>/etc/mysql/mysql.conf.d</code> - Handig om dingen af te kijken. | + | * Bron: Uitleg in bestand mysql.cnf |
+ | * Verder vind je default-instellingen in <code>/etc/mysql/mysql.conf.d/mysql.cnf</code> - Handig om dingen af te kijken. | ||
== .my.cnf == | == .my.cnf == |
Versie van 28 mei 2020 12:22
Altijd verwarrend waar je systeeminstellingen van MySQL aanpast. Daarnaast is MySQL nogal kritisch als het om wijzigingen gaat. Er zijn twee soorten bestanden: Systeem-wijde instellingen in /etc en gebruiker-specifieke instellingen in ~/. Dit artikel gaat vooral over deze eerste.
Spoorzoeken
Er is een verwarrend woud aan placeholder-configuratiebestanden, die ook nog 's allemaal naar elkaar lijken te verwijzen:
/etc
* /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/
Home dir
In je home dit heb je een bestand .my.cnf
.
Niet meer spoorzoeken
Voor systeem-brede aanpassingen:
cd /etc/mysql sudo mv my.cnf my.cnf.oud sudo cp mysql.cnf my.cnf
Gebruik nu bestand my.cnf
voor eigen instellingen.
- Bron: Uitleg in bestand mysql.cnf
- Verder vind je default-instellingen in
/etc/mysql/mysql.conf.d/mysql.cnf
- Handig om dingen af te kijken.
.my.cnf
In je home dir staat doorgaans een bestand .my.cnf
. Mijn versie (licht bijgewerkt, april 2020):
################################################################################################ # [Client] ################################################################################################ # [client] host = localhost socket = /var/run/mysqld/mysqld.sock # Specifying user & password to avoid authentication #################################################### # user = supervrouw password = mijnwachtwoord # Include comments when importing sql-files #################################################### # comments = true ################################################################################################ # [mysqldump] ################################################################################################ # [mysqldump] # Include sprocs & functions when making dumps ############################################## # routines = true # Continue with dump despite errors in views ############################################## # force = true
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)
Voorbeeld: Mijn /etc/mysql/my.cnf (zomer 2018)
########################################################################### # Strompf ########################################################################### # [mysqld] # Datadir is in my Dropbox ########################## # # Werkt niet! # # datadir = /home/strompf/Dropbox/.mysql/storage # Remove I/O path restrictions ############################## # secure_file_priv="" # Enable longer concat string ############################# # group_concat_max_len = 300000 # Disable MySQL Strict Mode ########################### # sql_mode=""