Où puis-je trouver une liste de codes de sortie "mysqldump"?
Je sais que exit code = 0
signifie No error
.
J'ai eu exit code = 2
. Que faut-il les moyens ?
Où je peux voir la liste complète des mysqldump
codes de sortie ?
source d'informationauteur Misha Moroshko
Vous devez vous connecter pour publier un commentaire.
Prises de client/mysqldump.c dans MySQL 5.1.59:
L'écrémage par la source, EX_MYSQLERR semble être utilisé pour la plupart des erreurs à partir du serveur, mais aussi en cas de malloc échoue. CONSCHECK semble stand pour des contrôles de cohérence. EX_EOM est retourné pour certains _alloc appels "à la Fin De la Mémoire"?
Code de sortie 2 se produit souvent lorsque le dump n'a pas pu être achevé en raison du privilège de problèmes; par exemple, si l'utilisateur n'a pas le
LOCK TABLES
privilège, ou le mot de passe fourni est incorrect.Cela vaut la peine de noter que si vous utilisez
mysqldump
en fonction phpexec
shell_exec
ousystem
de commande il sera de retour 02 code de sortie si vous ne disposez pas des autorisations d'écrire le fichier dans l'emplacement sélectionné.Dans mon cas, la commande:
Lorsqu'il est appelé à partir de php ne fonctionne pas. Il a été résolu après l'ajout bon autorisations d'écriture à l'EMPLACEMENT du dossier.
Je l'ai résolu en vérifiant ce qui a été envoyé comme sortie lors de l'appel de la commande:
et après:
Dans les deux cas, la commande a donné la bonne réponse en 2ème argument de
exec
fonction.Une autre raison pourrait être un mot de passe avec trop de caractères spéciaux, qui a été utilisé sans échappement sur la console (puisque vous utilisez
mysqldump
). Le processus retourne le code d'erreur 2 trop. J'ai ce problème de temps en temps. Emballage params au moins dans citations /double-guillemets permet souvent: au Lieu-u... -p...
et ainsi de suite, à l'aide de"-u..." "-p..."
élimine de nombreux problèmes. Cependant, il n'est pas une solution parfaite (si le même type de citations).Il peut aussi être un OS dépendant de problème. MS Windows par exemple utilise des variables, comme
%MYVAR%
qui semble ne pas pouvoir être échappé à tous (au moins certaines sources comme le PHP docu le mentionne).