comment prendre mysqldump des 1000 derniers enregistrements d'une base de données
11
mysqldump
a une --where
option. En supposant que vous ayez une sorte d'orteil pour comprendre ce que sont les 1000 derniers enregistrements insérés (par exemple, un champ d'incrémentation automatique appelé id
), vous devriez être en mesure de le coller sur la mysqldump
commande, comme ceci:
mysqldump --where "1=1 ORDER BY id DESC LIMIT 1000" DB_NAME TBL_NAME
Le 1=1
est nécessaire car le mot clé "WHERE" est inséré automatiquement dans la requête, vous devez donc lui donner du SQL à évaluer.
EDIT: Une modification anonyme a été apportée à cette réponse en supprimant l'espace entre - où et "1 = 1, en disant que la commande a commis une erreur sans espace. Je viens de tester et cela fonctionne avec l'espace et les erreurs sans l'espace, je ne sais pas quoi l'éditeur voyait.
L'erreur lors de la suppression de l'espace:
mysqldump: unknown variable 'where1=1 ORDER BY UserID DESC LIMIT 1000'
--where="..."
ou-w "..."
voir dev.mysql.com/doc/refman/5.6/en/…