mysql: ajout de --ignore-table-data

This commit is contained in:
Jérémy Lecour 2023-10-04 07:46:18 +02:00 committed by Jérémy Lecour
parent 382d25ee69
commit a60dd5abc2
Signed by: jlecour
SSH key fingerprint: SHA256:h+5LgHRKwN9lS0SsdVR5yZPeFlJE4Mt+8UtL4CcP8dY

View file

@ -1059,9 +1059,21 @@ $ mysqldump --hex-blob foo $(mysql foo -B --column-names=False -e "show tables l
Pour exclure les VIEWS d'un mysqldump :
~~~
EXCLUDE_VIEWS=$(echo "SELECT TABLE_SCHEMA, TABLE_NAME from INFORMATION_SCHEMA.VIEWS" | mysql information_schema | sed '/^TABLE_SCHEMA/d' | gawk {'print $1"." $2'} |tr '\n' ',')
EXCLUDE_VIEWS=$(echo "SELECT CONCAT_WS('.', TABLE_SCHEMA, TABLE_NAME) from INFORMATION_SCHEMA.VIEWS" | mysql --skip-column-names | tr '\n' ',')
mysqldump --opt --all-databases --force --ignore-table=$EXCLUDE_VIEWS --events --hex-blob > foo.sql
mysqldump [OPTIONS] --ignore-table=$EXCLUDE_VIEWS
~~~
Pour exclure des tables d'un mysqldump :
~~~
mysqldump [OPTIONS] --ignore-table=TABLE1 --ignore-table=TABLE2
~~~
Pour exclure seulement les données de tables mais en garder la structure (à partir de MariaDB 10.1) :
~~~
mysqldump [OPTIONS] --ignore-table-data=TABLE1 --ignore-table-data=TABLE2
~~~
Pour dumper avec une condition particulière :