Configuratiebestanden (MySQL): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 62: | Regel 62: | ||
* Gebruik vervolgens bestand <code>my.cnf</code> voor eigen instellingen | * Gebruik vervolgens bestand <code>my.cnf</code> voor eigen instellingen | ||
* Default-instellingen vind je in <code>/etc/mysql/mysql.conf.d/mysql.cnf</code> - Handig om dingen af te kijken | * Default-instellingen vind je in <code>/etc/mysql/mysql.conf.d/mysql.cnf</code> - Handig om dingen af te kijken | ||
− | * Na aanpassingen moet je de server herstarten. | + | * Na aanpassingen moet je de server herstarten, bv. met <code>sudo service mysql restart</code> (niet <code>mysqld</code>) |
== Voorbeeld: Aanpassen secure_file_priv == | == Voorbeeld: Aanpassen secure_file_priv == |
Versie van 5 jul 2020 15:25
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] ################################################################################################ # [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
Systeembrede instellingen
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 cp mysql.cnf my.cnf sudo vim my.cnf
- Gebruik vervolgens 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
)
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)
Mijn /etc/mysql/my.cnf (zomer 2020)
Complete bestand:
########################################################################### # Strompf - [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 ################################### # # https://stackoverflow.com/questions/26015160/deterministic-no-sql-or-reads-sql-data-in-its-declaration-and-binary-logging-i # log_bin_trust_function_creators = 1; ########################################################################### # Strompf - [client] ########################################################################### # # Normally, starting the server takes about a second ("sudo service mysql # restart"). Withh 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 ########################################################################### # Strompf - [mysqldump] ########################################################################### # [mysqldump] # Include sprocs & functions when making dumps ############################################## # routines = true # Continue with dump despite errors in views ############################################## # force = true