J'ai du mal à définir la taille du pool de mémoire tampon et la taille du fichier journal pour MySql InnoDB. Je suis loin d'être un expert MySql mais j'ai lu et il semble que pour changer cela, j'ajoute simplement ces lignes à mon /etc/mysql/my.cnf
# Set buffer pool size to 50-80% of your computer's memory
innodb_buffer_pool_size=2048M
innodb_additional_mem_pool_size=512M
#
# Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=256M
innodb_log_buffer_size=128M
Le serveur a environ 7 Go de mémoire et exécute également un serveur Web, donc je pense que ces chiffres devraient être un bon point de départ. Cependant, après avoir enregistré et redémarré le serveur, il ne semble pas que les modifications soient entrées en vigueur. J'ai essayé d'exécuter Mysqltuner qui a signalé que le pool de tampons est toujours à 16,0M. Une idée de ce que je fais mal? Faites-moi savoir si vous souhaitez voir plus du fichier de configuration. Merci!
Réponses:
Assurez-vous que ces lignes se trouvent dans la
[mysqld]
section, c'est-à-dire après[mysqld]
mais avant tout autre[section]
tel que[mysqldump]
.la source
Vérifiez votre journal d'erreurs MySQL pour plus d'informations - probablement situé dans
/var/lib/mysql
- est-ce aussi un système 32 bits avec le noyau bigmem? Si c'est le cas, vous ne pouvez pas adresser plus de 2 Go pour MySQL.De plus - vous voudrez confirmer à partir de MySQL lui-même la taille du pool de tampons - 16 Mo semblent un peu éteints, étant donné que la valeur par défaut est 128 Mo. Vous pouvez le confirmer en tapant 'AFFICHER LES VARIABLES COMME' innodb_buffer_pool_size 'dans une session MySQL pour ce serveur. Le résultat est en octets.
la source
sudo cd
ne fonctionnera pas car sudo crée un sous-shell avec les bons privilèges et le ferme une fois terminé, vous laissant là où vous avez commencé. Essayezsudo -s
plutôt.Dans mon cas, le problème était
innodb_buffer_pool_instances
.Depuis que je réduisais
innodb_buffer_pool_size
, il est devenu moins d'un 1 Go par instance, donc il a fini par l'arrondir.Quand j'ai également réduit les instances , cela a finalement changé la taille du pool !
la source
Peut-être que vous démarrez mysql avec --no-defaults ou (-no-defaults), ce qui l'empêche de charger une configuration du tout. Il y a aussi --defaults-file (ou -default-file, pas sûr), ce qui lui fait charger une configuration spécifique. Vérifiez également s'il s'agit d'une configuration différente de celle que vous modifiez.
Vous pouvez essayer de commencer par:
Ou vérifiez les paramètres avec lesquels vous commencez déjà et voyez si l'un d'eux fait qu'il omet la configuration.
la source