web-dev-qa-db-fra.com

restaurer toute la base de données mysql à partir d'un fichier --all-database sql.gz

J'ai sauvegardé toutes mes bases de données mysql avec la commande suivante

mysqldump -u root -ppasswod --all-databases | gzip > all.sql.gz

je voulais juste savoir si je pourrai restaurer toute la base de données avec la commande suivante

gunzip < alldb.sql.gz | mysql -u root -ppassword -h localhost

pouvez-vous également me dire comment sauvegarder tous les utilisateurs de mysql?

Je ne peux pas le tester car je ne suis pas sûr et je ne veux pas casser de base de données sur mon système actuel

14
ahhmarr

Oui. En règle générale, pour restaurer des fichiers de sauvegarde compressés, vous pouvez procéder comme suit:

gunzip < alldb.sql.gz | mysql -u [uname] -p[pass] [dbname]

Veuillez consulter Comment sauvegarder et restaurer une base de données MySQL

Notez que l'option --all-databases S'applique uniquement à la sauvegarde. Le fichier de sauvegarde lui-même contiendra toutes les commandes CREATE DATABASE quux; Pertinentes pour la restauration.

22
mockinterface

Pour afficher une barre de progression lors de l'importation d'un fichier sql.gz, téléchargez pv et utilisez ce qui suit:

pv mydump.sql.gz | gunzip | mysql -u root -p

Si la commande PV n'est pas installée sur votre système, essayez la commande ci-dessous relativement

en CentOS/RHEL

yum install pv

Dans Debian/Ubunt

apt-get install pv

sous MAC

installer bv pv

Sortie quelque chose comme ça ->

pv mydump.sql.gz | gunzip | mysql -u root -p dbname

Entrer le mot de passe:

255 Mo 0:05:49 [748 ko/s] [===========>] 30%

6
Ravi Tyagi

C'est la commande que j'utilise pour sauvegarder toutes les bases de données dans MySQL:

mysqldump -u USERNAME -p --all-databases --events --ignore-table=mysql.event --extended-insert --add-drop-database --disable-keys --flush-privileges --quick --routines --triggers | gzip > "all_databases.gz"
  • L'option '--all-databases' indique à la commande d'inclure toutes les bases de données. Si vous souhaitez en spécifier une ou plusieurs, supprimez cette option et remplacez-la par '--databases dbname1 dbname2 dbnameX'
  • Pour sauvegarder tous vos utilisateurs mysql, mots de passe, autorisations, incluez ensuite la base de données 'mysql' dans votre sauvegarde. L'option --all-databases inclut cette base de données dans la sauvegarde.
  • L'option "--routines" inclut des procédures et des fonctions stockées dans la sauvegarde.
  • L'option '--triggers' inclut tous les déclencheurs dans la sauvegarde.

Pour restaurer à partir d'un fichier * .gz mysqldump:

gunzip < all_databases.gz | mysql -u USERNAME -p
6
Drew