web-dev-qa-db-fra.com

Comment utilisez-vous la commande source de MySQL pour importer des fichiers volumineux dans Windows

J'ai un gros fichier SQL (~ 150 Mo) que j'essaie d'importer. Il est trop volumineux pour le faire via PHPMyAdmin, même en le divisant en plusieurs parties. Il est également trop volumineux pour être importé via un script php, car il expire après 30 secondes de traitement du script. Je cherche donc comment importer directement le fichier à partir de la ligne de commande MySQL. 

La recherche en ligne montre que je souhaite utiliser soit database_name < file_name.sql, soit source file_name.sql, mais je ne parviens pas à faire fonctionner l’un d’eux.

Utiliser < donne une erreur de syntaxe MySQL générique, alors que source donne un failed to open file 'file_name.sql', error: 2 légèrement plus prometteur, je suis donc enclin à penser que la commande source est sur la bonne voie.

Je suis dans Windows et j'utilise xampp en tant que serveur localhost (remarque: je ne fais qu'essayer d'importer ce fichier sur le localhost afin de pouvoir exécuter le fichier SQL). J'ai essayé de placer le fichier dans xampp\mysql\bin et xampp\mysql\data\database_name.

Toute suggestion sur la manière d'importer ce fichier .sql dans MySQL à partir de la ligne de commande de MySQL ou par tout autre moyen serait grandement appréciée.

43
Daniel Nill

Avec xampp, je pense que vous devez utiliser le chemin complet en ligne de commande, par exemple:

C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < file_name.sql
52
Femi

N'utilisez pas "source", il est conçu pour exécuter un petit nombre de sql queries et afficher le résultat, pas pour importer des bases de données volumineuses.

J'utilise Wamp Developer (pas XAMPP) mais ça devrait être pareil.

Ce que vous voulez faire, c'est utiliser le MySQL Client pour faire le travail à votre place.

  1. Assurez-vous que MySQL est en cours d'exécution.
  2. Créez votre base de données via phpMyAdmin ou le MySQL Shell.
  3. Ensuite, exécutez cmd.exe et accédez au répertoire dans lequel votre fichier sql se trouve Situé dans.
  4. Exécuter: mysql -u root -p database_name_here < dump_file_name_here.sql
  5. Remplacez votre database name et dump file name.
  6. Entrez votre MySQL root account password à l'invite (si aucun mot de passe n'est défini, supprimez le commutateur "-p").

Cela suppose que mysql.exe puisse être localisé via le chemin environnemental et que le fichier sql se trouve dans le répertoire à partir duquel vous exécutez ce processus. Sinon, utilisez des chemins complets.

34
rightstuff

Sous Windows, cela devrait fonctionner (notez la barre oblique et que le chemin complet n'est pas cité et que les espaces sont autorisés)

USE yourdb;

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

32
Valentin Despa

Option 1. vous pouvez le faire en utilisant une seule cmd où D est mon dossier d'installation xampp ou wampp, donc j'utilise ceci où mysql.exe installe et le second nom de base de données d'option et le dernier est un fichier sql. 

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

changer votre répertoire et la version de mysql

Option 2 Supposons que votre chemin actuel est celui qui montre l'invite de commande 

C:\Users\shafiq;

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

C:\xampp\mysql\bin;

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

choisir la base de données en utilisant 

mysql->use test (where database name test) 

puis mettez dans la source SQL dans le dossier bin.

alors la dernière commande sera 

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

puis appuyez sur Entrée

C'est la commande complète  

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
Shafiqul Islam
C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql

Cela a fonctionné pour moi d'importer un fichier de 400 Mo dans ma base de données.

4

Pour importer un gros fichier SQL en utilisant la ligne de commande de MySQL.

Tout d’abord, accédez au chemin du fichier sur la ligne de commande . Ensuite,

Option 1:

mysql -u {user_name} -p{password} {database_name}  < your_file.sql

C'est un message d'avertissement: L'utilisation d'un mot de passe sur l'interface de ligne de commande peut s'avérer peu sûre.

Fait. Votre fichier sera importé.

Option 2:

mysql -u {user_name} -p {database_name}  < your_file.sql

en cela, vous ne fournissez pas de mot de passe SQL, ils vous ont alors demandé de saisir un mot de passe et votre fichier sera importé.

1
Ravindra Patel

Nom d'utilisateur en tant que 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 l'utilisateur root. Vous pouvez l'utiliser sans le mot de passe -p comme ci-dessus. Si elle demande un mot de passe, appuyez simplement sur Entrée.

1
Arjun s

Sur ma configuration Xampp, j'ai pu utiliser les éléments suivants 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]

Mon expérience personnelle sur ma machine locale était la suivante:
Nom d'utilisateur: Racine
Nom de la base de données: base de données test
Emplacement du fichier SQL: databasebackup.sql se trouve sur mon bureau

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

Cela a fonctionné pour moi pour importer mon fichier de 1 Go + dans ma base de données. 

1
IamJuanValle

utilisez la commande mysql source pour éviter les erreurs de redirection, en particulier sous Windows.

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

où e pour "Execute command"

Sous Windows, n’oubliez pas d’utiliser les guillemets doubles pour la commande sql.

Toutefois, la barre oblique inverse\ou la barre oblique/fonctionnera sous Windows.

0
cdarlint

Sous Windows: Utilisez l’Explorateur pour accéder au dossier contenant le fichier .sql Tapez cmd dans la barre d’adresse supérieure. Cmd va s'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é de travailler avec MariaDB en février 2018.

0
ffactory