233 votes

Comment charger un fichier sql.gz dans ma base de données ? (importation)

J'essaie d'importer un fichier SQL gzippé dans mysql directement. Est-ce la bonne méthode ?

mysql -uroot -ppassword mydb > myfile.sql.gz

5voto

Harris Points 916

Vous pouvez utiliser -c, --stdout, --to-stdout option de gunzip commande

par exemple :

gunzip -c file.sql.gz | mysql -u root -p database

4voto

Lorrain Childs Points 31

Vérifiez également s'il y a une déclaration USE dans le fichier SQL. Le fait de spécifier la base de données sur la ligne de commande ne garantit pas que les données y aboutissent si une destination différente est spécifiée dans le fichier SQL.

4voto

Abu Bakar Iqbal Points 39

Si vous utilisez une base de données de petite taille, il est préférable d'extraire et d'importer. Voici la commande d'extraction

tar -xf dbname.sql.tar.gz 

Voici la commande d'importation.

mysql -u username -p new_database < data-dump.sql

3voto

Gustavo Straube Points 131

Sur MacOS J'ai utilisé la ligne unique suivante sans avoir besoin d'installer de programmes supplémentaires, à l'exception du client MySQL lui-même.

$ cat /path/to/file.sql.gz | gzip -d | mysql -u root <db_name>

La première commande, cat Imprime le fichier. Sa sortie, le contenu du fichier, est envoyée comme entrée à la commande suivante, gzip . gzip avec le -d décompresse l'entrée qui lui est passée et produit le résultat, qui est finalement utilisé comme entrée pour le client MySQL, l'option mysql programme. L'envoi de la sortie -> entrée nous est apporté par la | (pipe) sur bash et autres Shell.

Ce script peut également être utilisé dans certaines distros Linux populaires, comme Ubuntu. Je ne suis pas sûr que gzip est toujours disponible. Mais il peut être facilement installé, sinon, avec :

$ sudo apt install gzip

1voto

TimSparrow Points 111

Pour bzip2 fichiers compressés (.sql.bz2), utilisez :

bzcat <file> | mysql -u <user> -p <database>

OU

pv <file> | bunzip2 | mysql -u <user> -p <database>

pour voir la barre de progression.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X