Phpmyadmin, c’est bien joli, c’est bien pratique mais comparé à l‘utilisation de mysql en ligne de commabde via ssh par exemple sur votre serveur dédié, cela n’a rien à voir dès que vous commencez a traiter de grosses bases sql de plusieurs mega.
En effet pour faire un export mysql, si on passe par php on a déjà le max-execution time qui risque de nous poser problème.
Chose qui n’arrivera pas avec des outils comme mysqldump.
Pour faire une sauvegarde de la base de donnée mysql BDD sur le serveur SERVEUR avec le compte COMPTE dont le mot de passe est MDP dans le fichier backup.sql, voici la synthaxe:
mysqldump -u COMPTE -pMDP --opt BDD -h SERVEUR > backup.sql
N’oubliez pas de coller le mot de passe au ‘p’.
Le serveur si non spécifié serva localhost ce qui sera la configuration dans 90% des serveur dediés.
Enfin pour importer une base mysql la ligne de commande est quasi identique:
mysql -u COMPTE -pMDP -h SERVEUR -D BASE < backup.sql
Petite astuce, si vous souhaitez faire un import en spécifiant l'encodage mysql, utilisez l'option
--default_character_set utf8
Pour de l'utf8 ou latin1 pour de l'iso.
Les encodages sous mysql c'est encore un peu le merdier, en effet on peu spécifier l'encodage d'import mais pas celui de l'export par exemple.
2 autres posts sur ce sujet:
Pour faire des sauvegardes massive mysql avec une tache cron et les envoyer sur un ftp
Pour régler des problèmes d'encodage suite au passage à mysql5 par exemple et cette fois cie avec phpmyadmin
Autre oetts tricks pour converir une base:
mysqldump --add-drop-table -uroot -p NOM_DE_LA_BASE | replace CHARSET=latin1 CHARSET=utf8 | iconv -f latin1 -t utf8 | mysql -uroot -p NOM_DE_LA_BASE
2 Commentaires
Recevoir les commentaires par email
Merci pour le « –default_character_set utf8 » !
Pareil ! il me manquai l’utf8 :]
Merci
Trackbacks