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é.
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
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.
- assurez-vous que
MySQL
est en cours d'exécution. - créez votre base de données via
phpMyAdmin
ouMySQL shell
. - alors, courez
cmd.exe
, et changer dans le répertoire de votresql
le fichier est situé dans. - Exécuter:
mysql -u root -p database_name_here < dump_file_name_here.sql
- Remplacer dans votre
database name
etdump file name
. - 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.
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;
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
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.
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: RacineNom 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.
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.
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.
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.