diff --git a/HowtoMySQL.md b/HowtoMySQL.md index cf61f5c3..43895e04 100644 --- a/HowtoMySQL.md +++ b/HowtoMySQL.md @@ -1008,10 +1008,10 @@ $ mysqldump --hex-blob foo > foo.sql $ mysqldump --hex-blob foo | gzip > foo.sql.gz ~~~ -> *Note* : l'option *--hex-blob* est importante pour ne pas risquer de perdre certains caractères dans les colonnes de type BINARY/BLOB/BIT +> *Note* : l'option `--hex-blob` est importante pour ne pas risquer de perdre certains caractères dans les colonnes de type BINARY/BLOB/BIT Il est aussi possible de sauvegarder une seule table avec mysqldump. -Exemple avec la table *bar* de la base *foo* : `$ mysqldump --hex-blob foo bar` +Exemple avec la table `bar` de la base `foo` : `$ mysqldump --hex-blob foo bar` Pour sauvegarder une base de données au format *tab-separated data files*, avec - pour chaque table - un fichier .sql contenant la structure de la table (CREATE TABLE) et un fichier .txt contenant les données brutes (réinjectable avec `LOAD DATA INFILE`) : @@ -1021,7 +1021,7 @@ Pour sauvegarder une base de données au format *tab-separated data files*, avec $ mysqldump -T foo > /tmp/foo ~~~ -> *Note* : le répertoire de destination doit exister et *mysqld* doit avoir les droits d'écrire dedans. +> *Note* : le répertoire de destination doit exister et `mysqld` doit avoir les droits d'écrire dedans. On peut utiliser les options `--fields-xxx` pour obtenir des fichiers au format CSV : @@ -1066,16 +1066,18 @@ EXCLUDE_VIEWS=$(echo "SELECT CONCAT_WS('.', TABLE_SCHEMA, TABLE_NAME) from INFOR mysqldump [OPTIONS] --ignore-table=$EXCLUDE_VIEWS ~~~ +**Attention**: la syntaxe `--ignore-table=DB.TABLE1,DB.TABLE2` ne semble plus fonctionner, il faudrait utiliser `--ignore-table=DB.TABLE1 --ignore-table=DB.TABLE2` + Pour exclure des tables d'un mysqldump : ~~~ -mysqldump [OPTIONS] --ignore-table=TABLE1 --ignore-table=TABLE2 +mysqldump [OPTIONS] --ignore-table=DB.TABLE1 --ignore-table=DB.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 +mysqldump [OPTIONS] --ignore-table-data=DB.TABLE1 --ignore-table-data=DB.TABLE2 ~~~ Pour dumper avec une condition particulière : @@ -1087,7 +1089,7 @@ $ mysqldump -t foo bar --hex-blob --where="id='66666666'" Ce qui permet de réinjecter des données résultantes d'un `SELECT * FROM foo.bar WHERE id='66666666'`. Il est évidement possible de faire toutes ces opérations sur une instance en -précisant son port avec l'option `--port` (valable pour *mysqldump* et *mysql*). +précisant son port avec l'option `--port` (valable pour `mysqldump` et `mysql`). Pour obtenir une liste des utilisateurs mysql, on peut utiliser cette fonction (glanée sur [serverfault](http://serverfault.com/questions/8860/how-can-i-export-the-privileges-from-mysql-and-then-import-to-a-new-server/)) :