Skip to content


Mettre tmpdir de MySQL en RAM grâce tmpfs

Introduction

Comme nous l'avons vu dans l'article précédent nous pouvons mettre en RAM tout ou une partie de MySQL en RAM à travers un montage de répertoire en tmpfs.

Si vous avez une base de données de plusieurs Go et que votre machine ne contient pas assez de RAM pour l'ensemble, l'article précédent est inefficace !

Une solution très efficace et viable est de mettre en RAM le répertoire temporaire de MySQL indiqué dans le fichier my.cnf "tmpdir". Pour réaliser ceci nous allons reprendre la partie création du répertoire de travail que nous mettons en RAM. Puis allons indiquer dans le fichier my.cnf le paramètre correct "tmpdir".

!!! Attention !!!

Il faut bien connaitre au par avant la taille maximale utilisée des tables temporaires créées par MySQL de toutes vos applications. En effet si la taille totale de ces tables dépassent la taille allouée alors un crash se fera sentir !

Montage d'un répertoire en RAM

Création du répertoire qui va accueillir le tmpdir de MySQL et montage de celui-ci en RAM.

mkdir -p /var/tmpfs
mount -t tmpfs -o size=1G tmpfs /var/tmpfs
chown -R mysql:mysql /var/tmpfs

 

Ce qui peut donner dans /etc/fstab

tmpfs  /var/tmpfs                         tmpfs  nodev,nosuid,noexec,noatime,size=1G              0 0

Modification de my.cnf

Editer le fichier /etc/my.cnf

Puis attribuer un paramètre à tmpdir

tmpdir = /var/tmpfs

Redémarrer MySQL : service mysql restart

Voilà c'est fait ! 😉

Print Friendly, PDF & Email

Posted in Debian, Important, Linux, Technique, Toutes. Tagged with , , , , , .

2 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Youri said

    Super article, très intéressant.
    Il y a juste une petite erreur ( copié/collé ? ) sur chown -R mysql:mysql /var/tmpfs/mysql. Le repertoire mysql n'existe pas.

    je vais d'abord tester le repertoire tmpfs en Ram et je pense basculer tout Mysql en Ram par la suite .

    Merci

  2. admin said

    Bonjour,

    Petite erreur réparée ! 🙂
    tks

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.

Time limit is exhausted. Please reload CAPTCHA.


/* */
Creative Commons License
Cette création par Laurent Besson est mise à disposition selon les termes de la licence Creative Commons Paternité-Partage des Conditions Initiales à l'Identique 2.0 France.