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

397voto

Crippeoblade Points 1301
zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database

> écrira la sortie de l mysql sur stdout dans le fichier myfile.sql.gz ce qui n'est probablement pas ce que vous voulez. De plus, cette commande vous demandera le mot de passe de l'utilisateur MySQL "root".

130voto

Banjer Points 3754

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

pv mydump.sql.gz | gunzip | mysql -u root -p <database name>

Sous CentOS/RHEL, vous pouvez installer pv avec yum install pv .

Dans Debian/Ubuntu apt-get install pv .

Dans MAC, brew install pv

74voto

icc97 Points 970

La méthode la plus simple consiste à décompresser le fichier de la base de données avant de l'importer. Comme mentionné par @Prof. Moriarty vous ne devriez pas spécifier le mot de passe dans la commande (le mot de passe vous sera demandé). Cette commande est tirée de feuille de calcul web va dézipper et importer la base de données en une seule fois :

gunzip < myfile.sql.gz | mysql -u root -p mydb

20voto

Mark Howells-Mead Points 181

Si vous obtenez une erreur de zcat dans lequel le message d'erreur contient le nom du fichier avec un suffixe supplémentaire. .Z puis essayez d'utiliser gzcat à la place, comme décrit à https://stackoverflow.com/questions/296717/zcat-wont-unzip-files-properly

7voto

Nathan Basanese Points 1028

Sous macOS, j'ai utilisé ceci :

zcat < [Database].sql.gz | mysql -u root -p [Database Name in MySQL]

Entrez votre mot de passe, et voilà !

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