MySQL persistant tmpdir sur esclave: utilisez tmpdir ou slave_load_tmpdir uniquement?

Lors de la mise en place d'une database MySQL répliquée, j'ai regardé le manuel sur tmpdir et j'ai été quelque peu confus au sujet des deux variables tmpdir et slave_load_tmpdir . Je sais que l'esclave a besoin de certaines données pour être persistantes entre les redémarrages, mais je ne suis pas sûr que si le réglage slave_load_tmpdir suffit ou si les deux doivent être définis sur un directory persistant:

À propos de tmpdir , le manuel indique :

Le directory utilisé pour les files temporaires et les tables temporaires. […]

Si le server MySQL agit comme un esclave de réplication, vous ne devez pas configurer tmpdir pour pointer vers un directory sur un système de files basé sur la memory ou sur un directory qui est effacé lorsque l'hôte du server redémarre. Un esclave de réplication a besoin de certains de ses files temporaires pour survivre à un redémarrage de la machine afin qu'il puisse répliquer des tables temporaires ou des opérations LOAD DATA INFILE. Si les files dans le directory de files temporaires sont perdus lorsque le server redémarre, la réplication échoue. Vous pouvez définir le directory temporaire de l'esclave à l'aide de la variable slave_load_tmpdir. Dans ce cas, l'esclave n'utilisera pas la valeur tmpdir générale et vous pouvez configurer tmpdir dans un location non permanent.

À propos de slave_load_tmpdir , le manuel indique :

Le nom du directory où l'esclave crée des files temporaires. Cette option est par défaut égale à la valeur de la variable système tmpdir. Lorsque le thread SQL esclave réplique une instruction LOAD DATA INFILE, il extrait le file à charger depuis le journal relais en files temporaires, puis les charge dans la table. […]

Le directory spécifié par cette option devrait être situé dans un système de files basé sur un disque (pas un système de files basé sur la memory) car les files temporaires utilisés pour répliquer LOAD DATA INFILE doivent survivre aux redémarrages de la machine. Le directory ne doit pas non plus être utilisé par le operating system pendant le démarrage du système.

Ainsi, un esclave a besoin d'un directory temporaire persistant pour "répliquer les tables temporaires ou les opérations LOAD DATA INFILE", mais slave_load_tmpdir ne dit rien sur les tables temporaires, seulement LOAD DATA INFILE (également reflété dans son nom). D'autre part, le manuel indique que si slave_load_tmpdir est persistant, tmpdir peut être dans un location non permanent. Est-ce que quelqu'un a un aperçu de cela?

  • Échec de la connection de l'esclave au maître avec erreur "erreur de connection au maître (1045)"
  • Réplication MySQL Master-Slave Lag
  • Obtenez de l'ip flottant de mmm pour travailler sur Tinc vpn sur Ubuntu
  • La réplication MySQL s'est accrochée après que l'esclave est hors ligne et revient en ligne
  • Comment synchroniser deux tables MySQL (sur request ou via cron)
  • Empêchez-vous d'écrire des scripts de non-réplication sur MySQL?
  • Réplication Mysql, synchronisation master_log_pos mais tables non mises à jour
  • Quelques tables sont encore en désaccord après l'exécution de la synchronisation de la table mk
  • Est-il possible de modifier en toute security le file mysql-bin.index alors que le server mysql fonctionne
  • Pourquoi est-il exactement --skip-slave-start recommandé avec MySQL `START SLAVE UNTIL`?
  • Est-il possible de reproduire / regrouper deux bases de données différentes?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.