Comment utiliser la commande source de MySQL pour importer de gros fichiers dans windows

j'ai un grand (~150mb) fichier sql que j'essaie d'importer. Il est trop grand pour le faire à travers PHPMyAdmin même en le divisant en plusieurs morceaux et il est trop grand pour l'importer à travers un script php car il s'écoule après 30 secondes de traitement du script. Je cherche donc comment importer directement le fichier depuis la ligne de commande MySQL.

la recherche en ligne montre que je veux utiliser database_name < file_name.sql ou source file_name.sql mais je n'arrive pas à les faire marcher.

en utilisant < donne l'erreur de syntaxe MySQL Générique En utilisant source un peu plus prometteurs failed to open file 'file_name.sql', error: 2 donc je suis enclin à penser que la commande source est sur la bonne voie.

je suis dans windows et j'utilise xampp comme serveur localhost (notez que j'essaie seulement d'importer ce fichier sur le localhost pour que je puisse exécuter le sql). J'ai essayé de placer le fichier dans xamppmysqlbin et xamppmysqldatadatabase_name.

toute suggestion sur la façon d'importer ceci .fichier sql dans MySQL soit à partir de la commande MySQL ligne ou par tout autre moyen serait grandement apprécié.

42
demandé sur Daniel Nill 2011-05-28 22:41:30

9 réponses

avec xampp je pense que vous devez utiliser le chemin complet à la ligne de commande, quelque chose comme ceci, peut-être:

C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < file_name.sql
52
répondu Femi 2011-05-28 19:14:15

Ne pas utiliser "source", il est conçu pour exécuter un petit nombre de sql queries et afficher la sortie, pas pour importer de grandes bases de données.

j'utilise Wamp Developer (pas XAMPP), mais il devrait être le même.

Ce que vous voulez faire est d'utiliser la MySQL Client pour faire le travail pour vous.

  1. assurez-vous que MySQL est en cours d'exécution.
  2. créez votre base de données via phpMyAdmin ou MySQL shell.
  3. alors, courez cmd.exe, et changer dans le répertoire de votre sql le fichier est situé dans.
  4. Exécuter: mysql -u root -p database_name_here < dump_file_name_here.sql
  5. Remplacer dans votre database name et dump file name.
  6. Entrez votre MySQL root account password lorsqu'on vous le demande (si aucun mot de passe n'est défini, supprimez le commutateur "-p").

Cela suppose que mysql.exe peut être localisé via le chemin environnemental, et cela sql le fichier est situé dans le répertoire que vous exécutez cette de. Sinon, utiliser les chemins d'accès complets.

34
répondu rightstuff 2018-05-14 15:07:43

sur Windows, cela devrait fonctionner (notez le raccourci vers l'avant et que le chemin entier n'est pas cité et que les espaces sont autorisés)

USE yourdb;

SOURCE D:/My Folder with spaces/Folder/filetoimport.sql;

29
répondu Valentin Despa 2014-02-15 11:34:31

Option 1. vous pouvez faire cela en utilisant un seul cmd où D est mon dossier d'installation xampp ou wampp, donc j'utilise cet endroit où mysql.exe install et la deuxième option Nom de la base de données et le dernier est le fichier sql alors remplacez-le comme votre puis lancez ceci

D:\xampp\mysql\bin\mysql.exe -u root -p databse_name < D:\yoursqlfile.sql

Option 1 pour wampp

D:\wamp64\bin\mysql\mysql5.7.14\bin\mysql.exe -u root -p databse_name< D:\yoursqlfile.sql

changement de votre dossier et de la version de mysql

Option 2 supposons que votre chemin courant est celui qui affiche l'invite de commande

C:\Users\shafiq;

puis changer de répertoire en utilisant cd.. puis allez dans votre répertoire mysql où votre XAMPP est installé. Puis cd.. pour le répertoire change. puis allez dans le dossier bin.

C:\xampp\mysql\bin;

C:\xampp\mysql\bin\mysql -u {username} -p {database password}.alors s'il vous plaît entrer quand vous voyez entrer le mot de passe dans l'invite de commande.

choisir la base de données en utilisant

mysql->use test (where database name test) 

puis insérez le code source sql dans le dossier bin.

puis la dernière commande sera

mysql-> source test.sql (where test.sql is file name which need to import)

puis appuyez sur entrez

C'est plein de commande

C:\Users\shafiq;
C:\xampp\mysql\bin
C:\xampp\mysql\bin\mysql -u {username} -p {database password}
 mysql-> use test
 mysql->source test.sql
9
répondu Shafiqul Islam 2018-01-12 09:08:31
C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql

cela m'a permis d'importer un fichier de 400 Mo dans ma base de données.

4
répondu Guillermo Hernández 2015-06-22 06:25:38

sur ma configuration Xampp j'ai été capable d'utiliser ce qui suit pour importer une base de données dans MySQL:

C:\xampp\mysql\bin\mysql -u {username goes here} -p {leave password blank} {database name} < /path/to/file.sql [enter]

nom d'utilisateur: Racine

Nom De Base De Données: testdatabase

SQL Emplacement du Fichier: databasebackup.sql est situé sur mon bureau

C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql 

cela a fonctionné pour moi d'importer mon fichier 1 GO + dans ma base de données.

1
répondu IamJuanValle 2013-04-11 14:05:46

nom d'utilisateur root sans mot de passe

mysql -h localhost -u root databasename < dump.sql

j'ai fait face au problème sur mon hôte local car je n'ai pas de mot de passe pour root user. Vous pouvez l'utiliser sans -p mot de passe comme ci-dessus. S'il demande un mot de passe, appuyez simplement sur entrée.

1
répondu Arjun s 2016-06-10 10:46:07

utilisation de mysql source commande pour éviter les échecs de redirection, surtout sur windows.

mysql [-u <username>] [-p<password>] <databasename> -e "source /path/to/dump.sql"

où e pour "Execute command"

sur Windows, n'oubliez pas d'utiliser double quote pour la commande sql.

cependant, soit backslash \ ou slash / fonctionnera sur Windows.

0
répondu cdarlint 2017-11-23 07:43:44

sur windows: Utilisez l'explorateur pour naviguer vers le dossier avec la .fichier sql. Tapez cmd dans la barre d'adresse supérieure. Le Cmd va ouvrir. Type:

"C:\path\to\mysql.exe" -u "your_username" -p "your password" < "name_of_your_sql_file.sql"

attendez un peu et le fichier sql aura été exécuté sur votre base de données. Confirmé pour travailler avec MariaDB en février 2018.

0
répondu ffactory 2018-02-25 11:11:41