Configuration de la base de données

I have searched the forum for similar issues

on

This category is for issues regarding specific apps, NOT general issues with YunoHost.

on

This form is written in English but feel free to write in French if you’re more comfortable!

on

What app is this about, and its version

35.0.2~ynh1

What YunoHost version are you running

12.1.41.2

What type of hardware are you using

Raspberry Pi 3, 4+

Describe your issue

Je viens d’installer nextcloud et la vue d’ensemble des paramètres d’administration mentionne plusieurs problèmes. J’en ai déjà corrigé plusieurs (mime php, opcache, etc.) mais je sèche sur celui-ci et en particulier sur le moyen de changer certaines valeurs dans my.cnf : un fichier de configuration de mysql ?
Je suis aller là :
root@tikew:/etc/mysql#
et y trouve my.cnf → /etc/alternatives/my.cnf
Mais il n’y a pas grand chose dans ce fichier : faut-il ajouter les valeurs recommandées ?
Question subsidiaire : comment redémarrer le serveur (cf. log3 ci-dessous) ?

Share relevant logs or error messages

  • Avertissement sur la page “Vue d’ensemble” :
    Configuration de la base de données
    1 vérification de la base de données échoue. Afficher les résultats…

  • Log1 : Slow query log
    Information Slow_query_log_off
    Indice
    The slow query log is disabled, so problematic queries are not being recorded.
    slow_query_log is currently disabled.
    Enable slow_query_log to capture queries that take longer than long_query_time to execute.
    Valeur 0
    Paramétrage slow_query_log→ON

L’extrait du fichier de configuration suggéré est :
my.cnf [mysqld]
slow_query_log = ON

  • Log2 : Long query time
    Information Long_query_time
    Indice
    long_query_time is set high, so only the slowest queries are logged.
    long_query_time is 10 seconds; a value of 2 or less is recommended.
    Set long_query_time to 2 (or less) to catch problematic queries earlier.
    Valeur 10
    Paramétrage long_query_time→2

L’extrait du fichier de configuration suggéré est :
my.cnf [mysqld]
long_query_time = 2

  • Log3 : InnoDB log file size
    Avertissement Innodb_log_file_size
    Échoue
    innodb_log_file_size is small; a small log forces frequent checkpoints and limits write throughput.
    innodb_log_file_size is 100663296 bytes; a value of at least 128 MB is recommended.
    Increase innodb_log_file_size to at least 128 MB on busy servers.
    Valeur 100 663 296
    Paramétrage
    innodb_log_file_size→256Mredémarrage requis
    Note
    Server restart recommended after changing this setting.

L’extrait du fichier de configuration suggéré est :
my.cnf
[mysqld]
innodb_log_file_size = 256M

Ce sont des recommandations, pas une obligation
Le fichier de configuration /etc/mysql/mariadb.conf.d/50-server

Merci.

Vous voulez dire que je ne suis pas obligé de “corriger” ce qui apparaît comme un “avertissement” ? Tout va bien fonctionner sans cela ?

Je suis alors tenté de suivre votre conseil parce je ne vois pas comment corriger le fichier de conf. J’ai ouvert 50-server.cnf où, à quelques lignes près, tout est en commentaire, comme par exemple, tout ce qui concerne “slow_query” (dans le “chapitre” logging & replication):
#When running under systemd, error logging goes via stdout/stderr to journald
#and when running legacy init error logging goes to syslog due to
#/etc/mysql/conf.d/mariadb.conf.d/50-mysqld_safe.cnf
#Enable this if you want to have error logging into a separate file
#log_error = /var/log/mysql/error.log
#Enable the slow query log to see queries with especially long duration
#log_slow_query_file = /var/log/mysql/mariadb-slow.log
#log_slow_query_time = 10

(j’ai enlevé un espace après le # parce que, sinon le md afiche tout en titre !)

Je ne vois par ailleurs aucune mention de long_query_time et, s’il ya bien un “chapitre” Innodb, il n’y est pas fait mention de innodb_log_file_size:
#InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
#Read the manual for more InnoDB related options. There are many!
#Most important is to give InnoDB 80 % of the system RAM for buffer use:
#Get Started | MariaDB Documentation
#innodb_buffer_pool_size = 8G

A moins qu’il s’agisse de la même chose que innodb_log_file_size = 256M ?

Pour celui-là vous pouvez vraiment laisser : le slow query log sert seulement à repérer des requêtes lentes quand on cherche un problème, et sur un Raspberry ça ajoute des écritures sur la carte SD. Si un jour vous voulez changer une valeur, mieux vaut créer votre propre fichier dans /etc/mysql/mariadb.conf.d/ (par exemple 99-perso.cnf avec une section [mysqld]) que modifier le 50-server.cnf. Pour redémarrer : systemctl restart mariadb, ou depuis la webadmin dans Outils > Services.

En fait, la configuration de mariadb est standard pour tout les serveurs sous Linux. Vous pouvez utiliser un script (disponible sur github, j’ai pas le lien sous la main) pour améliorer la performance de votre service mariadb. Les serveurs n’ont pas les mêmes ressources

Merci Jarod & Sebh…
N’exigeant aucun performance particulière de cette pauvre Maria, je vais la laisser faire à son rythme !