Introduction
Certains serveurs configurés ont soit de très grandes tables et nécessitent un espace temporaire plus important, soit il n'y a pas assez de mémoire et l'utilisation du swap utilise plus d'espace temporaire.
Cela peut parfois être atténué en déplaçant le tmpdir MySQL de /tmp vers une partition plus grande telle que /home.
Procedure
Si le serveur cPanel utilise MariaDB comme serveur MySQL, procédez comme suit en premier.
Créez le fichier /etc/systemd/system/mariadb.service.d/override.conf et ajoutez le contenu suivant.
[Service]
ProtectHome=false
Puis exécutez les commandes suivantes
systemctl daemon-reload
/scripts/restartsrv_mysql
Si vous utilisez les RPM MySQL et non MariaDB, commencez à partir d'ici. Si vous utilisez MariaDB, continuez avec les modifications suivantes après avoir désactivé ProtectHome.
Voici les étapes nécessaires pour déplacer le répertoire tmp du serveur MySQL vers /home :
mkdir /home/mysqltmp
chown mysql:mysql /home/mysqltmp
Ensuite, mettez ce qui suit dans /etc/my.cnf sous [mysqld]
tmpdir=/home/mysqltmp
Puis redémarrez MySQL.
/scripts/restartsrv_mysql
Vérifiez en exécutant cette commande
mysqladmin variables|grep tmpdir
Vous devriez voir ce type de retour
vps root # mysqladmin variables|grep tmpdir
| slave_load_tmpdir | /home/mysqltmp |
| tmpdir | /home/mysqltmp |
vps root #