Configuratiebestanden (MySQL): verschil tussen versies
(4 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 46: | Regel 46: | ||
</pre> | </pre> | ||
− | == | + | Maak dit bestand enkel leesbaar voor de eigenaar: |
+ | |||
+ | <code> | ||
+ | chmod 0600 ~/.my.cnf | ||
+ | </code> | ||
+ | |||
+ | == Instellingen op serverniveau == | ||
Het kan verwarrend zijn waar je systeembrede instellingen moet toepassen, maar ingewikkelder dan dit hoeft 't niet te zijn: | Het kan verwarrend zijn waar je systeembrede instellingen moet toepassen, maar ingewikkelder dan dit hoeft 't niet te zijn: | ||
Regel 166: | Regel 172: | ||
force = true | force = true | ||
</pre> | </pre> | ||
+ | |||
+ | == Conflicten == | ||
+ | |||
+ | Helaas: Tot op heden (dec. 2021) heb ik nog geen grip op settings: Ik krijg vaak foutmeldingen. Bv. als ik een ''tool'' gebruik dat ik al lang niet heb gebruikt (bv. onlangs met de routines <code>mysqlrepair</code> en <code>mysqloptimize</code>, omdat blijkbaar instellingen voor het ene object (bv. mysqldump) ook wordt toegepast op andere objecten - Wordt vervolgd. | ||
== Zie ook == | == Zie ook == | ||
− | * [[Conversie (MySQL)]] | + | * [[Conversie (MySQL) | Conversie]] |
* [[Error while sending query packet]] | * [[Error while sending query packet]] | ||
− | * [[GROUP CONCAT()-error (MySQL)]] | + | * [[GROUP CONCAT()-error (MySQL) | GROUP CONCAT-error]] |
− | * [[Max allowed packet (MySQL)]] | + | * [[Max allowed packet (MySQL) | Max allowed packet]] |
− | * [[Unsafe function declaration (MySQL)]] | + | * [[Sort buffer (MySQL) | Sort buffer]] |
+ | * [[Systeemvariabelen (MySQL) | Systeemvariabelen]] | ||
+ | * [[Unsafe function declaration (MySQL) | Unsafe function declaration]] |
Versie van 28 dec 2021 22:39
In MySQL kun je instellingen configureren per gebruiker, of per systeem. Beiden worden in dit artikel behandeld.
Let op: MySQL is nogal kritisch als het om wijzigingen gaat. Daarom maak ik soms een backup voor ik iets om zeep help. Als het om MySQL-configuratiebestanden gaat, voeg ik een extensie aan het eind toe. Bv. my.cnf.bk01
.
.my.cnf
.my.cnf
is het configuratiebestand met gebruiker-specifieke instellingen. Dit bestand staat doorgaans direct in je home dir. Mijn versie (licht bijgewerkt, april 2020):
########################################################################### [Client] ########################################################################### # host = localhost socket = /var/run/mysqld/mysqld.sock user = supervrouw password = mijnwachtwoord # Include comments when inserting sql-dumps ############################################## # comments = true # local_infile - Added Aug. 17, 2020 ########################################## # local_infile=ON ########################################################################### [mysqldump] ########################################################################### # # Include sprocs & functions when making dumps ############################################## # routines = true # Continue with dump despite errors ############################################## # force = true
Maak dit bestand enkel leesbaar voor de eigenaar:
chmod 0600 ~/.my.cnf
Instellingen op serverniveau
Het kan verwarrend zijn waar je systeembrede instellingen moet toepassen, maar ingewikkelder dan dit hoeft 't niet te zijn:
cd /etc/mysql sudo mv my.cnf my.cnf.bk-org sudo vim my.cnf
- Gebruik bestand
my.cnf
voor eigen instellingen - Default-instellingen vind je in
/etc/mysql/mysql.conf.d/mysql.cnf
- Handig om dingen af te kijken - Na aanpassingen moet je de server herstarten, bv. met
sudo service mysql restart
(nietmysqld
) - Tot nov. 2020, kopiëerde ik een bestand eerst naar my.cnf, en voegde m'n eigen dingen toe. Dat bleek een foutmelding te geven!
Mijn /etc/mysql/my.cnf (zomer-herfst 2020)
Complete bestand:
# MySQL system-wide configuration file ########################################################################### # # * This file contains *only* custom settings # * Jeroen Strompf - Nov. 2020 # * See http://wiki.devliegendebrigade.nl/Configuratiebestanden_(MySQL) # for details # # ########################################################################### # [mysqld] ########################################################################### # [mysqld] # Remove I/O path restrictions ############################## # secure_file_priv="" # Enable longer concat string ############################# # group_concat_max_len = 300000 # Disable MySQL Strict Mode ########################### # sql_mode="" # Increase max_packet_size ########################### # max_allowed_packet=536870912 # log_bin_trust_function_creators ################################### # # * http://wiki.devliegendebrigade.nl/Unsafe_function_declaration_(MySQL) # * Dit lijkt echter niet te werken (nov. 2020): Zie de URL hierboven # log_bin_trust_function_creators = 1; # local_infile - Allow LOAD DATA - 17 Aug. 2020 ############################################### # local_infile=ON ########################################################################### # [client] ########################################################################### # # Normally, starting the server takes about a second ("sudo service mysql # restart"). With these [client] & [mysqldump] sections, this takes about 5 # seconds. I still find it handy to put everyting in this one location, # especially when collaborating with others on projects # [client] # Include comments when importing sql-files #################################################### # comments = true # local_infile - Allow LOAD DATA - 17 Aug. 2020 ############################################### # local_infile=ON ########################################################################### # [mysqldump] ########################################################################### # [mysqldump] # Include sprocs & functions when making dumps ############################################## # routines = true # Continue with dump despite errors in views ############################################## # force = true
Conflicten
Helaas: Tot op heden (dec. 2021) heb ik nog geen grip op settings: Ik krijg vaak foutmeldingen. Bv. als ik een tool gebruik dat ik al lang niet heb gebruikt (bv. onlangs met de routines mysqlrepair
en mysqloptimize
, omdat blijkbaar instellingen voor het ene object (bv. mysqldump) ook wordt toegepast op andere objecten - Wordt vervolgd.