2 votes

Exclusion/inclusion de tables dans mysqldump AWS

J'essaie de comprendre comment exclure ou inclure des tables spécifiques lors de l'exécution de la commande mysqldump sur AWS via le terminal.

Historique : J'ai un multisite WordPress mais je n'ai besoin que des tables avec les 3 premiers caractères "wp_" toutes les autres tables avec des préfixes comme "wp_1", "wp_2", etc. Je n'en ai pas besoin dans le fichier dump.

Voici le code que j'utilise pour générer le fichier de vidage qui fonctionne mais qui récupère toutes les tables de la base de données :

mysqldump -h RDS instance endpoint \ 
-u user \ 
-p databasename \ 
--port=3306 \ 
--single-transaction \ 
--routines \ 
--triggers \ 
--databases databasename > path/rds-dump.sql

Merci de votre attention !

2voto

Sunny Points 73

Lorsque j'ai été confronté au même problème, j'ai créé un fichier contenant tous les noms de tables nécessaires. Il ne me reste plus qu'à parcourir le fichier et à prendre le dump de chaque table et à l'ajouter dans le même fichier de dump. Par exemple :

for i in $(cat requiredtables.txt);do mysqldump -h RDS_instance -u user -p'password' db_name $i >> db_dump.sql;done

0voto

Tim Points 28848

Je me suis penché sur cette question il y a quelque temps, lorsque j'ai déplacé mes propres sites web, et j'en ai conclu que ce n'était pas possible. Il y a probablement un moyen de traiter le fichier dump après l'exportation, mais je ne m'en donnerais pas la peine sans une très bonne raison.

0voto

Olivier69 Points 226

Ce n'est pas possible, mais vous pouvez toujours vider toute la base de données et créer une requête SQL qui supprime les tables indésirables. Cependant, cela ne réduira pas le temps de mysqldump.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X