diff --git a/HowtoMySQL.md b/HowtoMySQL.md index 35f87622..ae92264c 100644 --- a/HowtoMySQL.md +++ b/HowtoMySQL.md @@ -664,7 +664,15 @@ for file in *.txt; do done ~~~ +Pour le CHARACTER SET, se baser au character_set_database de la base : + +~~~{.bash} +$ mysql -e 'show variables;' | grep character_set_database +character_set_database utf8 +~~~ + Si cela concerne plusieurs bases répartis dans différents répertoires : + \ ~~~{.bash} @@ -693,6 +701,18 @@ Se positionner dans un répertoire où mysql a les droits (mysqltmp - /home/mysq > *Note 2* : Si vous n'avez pas toutes vos tables en utf8 (par exemple du `CHARSET=LATIN1`), ce n'est pas bien… et vous devrez pour la peine adapter le script (en détectant le charset utilisé avec « file » si nécessaire) +> *Note 3* : Si erreur 150 : «Can't create table» voir du côté des foreign keys : + +~~~{.bash} +$ mysql -e 'SHOW ENGINE INNODB STATUS\G;' | grep LATEST\ FOREIGN -A3 +~~~ + +et ignorer les erreurs pour pouvoir recréer les tables : + +~~~{.bash} +$ mysql -e "set GLOBAL foreign_key_checks=OFF;" +~~~ + Il est possible d'exporter le contenu d'une base au format CSV : ~~~