Configuratiebestanden (MySQL): verschil tussen versies
(6 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 1: | Regel 1: | ||
− | + | 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. <code>my.cnf.bk01</code>. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== .my.cnf == | == .my.cnf == | ||
− | + | <code>.my.cnf</code> is het configuratiebestand met gebruiker-specifieke instellingen. Dit bestand staat doorgaans direct in je ''home dir''. Mijn versie (licht bijgewerkt, april 2020): | |
<pre> | <pre> | ||
Regel 93: | Regel 49: | ||
</pre> | </pre> | ||
− | == | + | == Systeembrede instellingen == |
− | + | Het kan verwarrend zijn waar je systeembrede instellingen moet toepassen, maar ingewikkelder dan dit hoeft 't niet te zijn: | |
+ | |||
+ | <pre> | ||
+ | cd /etc/mysql | ||
+ | sudo mv my.cnf my.cnf.bk-org | ||
+ | sudo cp mysql.cnf my.cnf | ||
+ | sudo vim my.cnf | ||
+ | </pre> | ||
+ | |||
+ | * 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 | ||
+ | * 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 == | ||
Regel 124: | Regel 91: | ||
</pre> | </pre> | ||
− | + | gevolgd door | |
+ | |||
+ | <pre> | ||
+ | sudo service mysql restart | ||
+ | </pre> | ||
+ | |||
+ | Het resultaat: | ||
<pre> | <pre> | ||
Regel 143: | Regel 116: | ||
<pre> | <pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
########################################################################### | ########################################################################### | ||
# Strompf - [mysqld] | # Strompf - [mysqld] | ||
Regel 183: | Regel 146: | ||
max_allowed_packet=536870912 | 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; | ||
########################################################################### | ########################################################################### |
Versie van 5 jul 2020 16:26
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 = ""
gevolgd door
sudo service mysql restart
Het resultaat:
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