Question

Il y a quelques mois, j'ai mis à jour une configuration MySQL de 5,5 à 5,6. Depuis lors, j'ai eu des problèmes avec un script que j'utilise pour vider les différentes bases de données afin que je puisse les sauvegarder.

Le script est un court morceau de perl qui obtient une liste de toutes les bases de données puis appelle mysqldump pour chacun comme suit:

mysqldump -udb_account -pdb_pw -hserver.com --single-transaction --flush-logs 
   --routines --triggers --quick $fn 2> $fn.err | gzip > $fn.mysql.gz

Problème: Beaucoup de ces bases de données ont des centaines de tables (toujours en augmentation). Pour ces db plus grands le mysqldump La commande sort souvent après une seule table. Si j'exécute la commande à partir d'une session de terminal, elle s'exécute correctement. (généralement, il fonctionne comme un travail cron 1x / semaine)

La .err Le fichier ne contient aucun message. Le ne fait pas non plus server.err fichier dans le dir root mysql.

Remarque: Ce script fonctionnait bien sur MySQL 5.5 depuis plusieurs années. Ce problème a commencé à se produire lorsque je suis passé à 5.6.

Également --flush-logs La partie ne fonctionne pas. Le dossier MySQL_BIN n'a jamais été vidé depuis que ce système a été mis en ligne.

Une variable que je n'ai pas encore contrôlée: lors de l'exécution en tant que travail CRON, le script fournit 3 processus à la fois. Lorsque je teste la commande dans une session de terme, je n'en fais qu'une à la fois.

Système en question:

  • Centos 6.4
  • x64
  • 64 Go de RAM

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top